We have a master and a production branch. The master branch contains current developments while the production branch contains the stuff that is running on the s
You can create a new branch (let's call it bugfix-a
) at the merge base of master
and production
git checkout -b bugfix-a $(git merge-base master production)
Apply your bugfix in that branch
>>/path/to/file echo 'this fixes the bug'
git add /path/to/file
git commit -m 'important bugfix'
Then, merge this new branch to both master and production:
git checkout master
git merge bugfix-a
git checkout production
git merge bugfix-a
That way you should be able to merge master and production at a later date and Git will be clever enough to figure out which commits to pick.
(Monotone – yes, it's not Git – calls this workflow daggy fixes)