Recently we deployed to production without a key bugfix and my assumptions about git were to blame.
We, like other people who use git, do a lot of our bug fixing in a branch and then merge it into master when it's time to release. So here's the procedure for the guy who's turn it is to do a deploy (which was me):
- Do a 'git pull origin master' in the master branch
- Get a local tracking branch of the bug-fixes branch
- Merge the bug fix branch into master
- Tag the master branch with the name of the release (our deployment keys on tags)
- Start the automated deploy script
One of the cool things about git is the fact that you can do a lot of development without an internet connect, but I've found that a fair amount of the gotchas I've run into with git trace back to my expectation that it will talk to the remote server when it's preference is to stay local.