Git branch maintenance guidelines

Merging code - General procedure

if you checked fix into upstream branch and want to get it into another release then

git checkout release-4.4
git cherry-pick {rev-id}

if you check into release branch and want to get it into upstream branch

git checkout master
git merge release-4.4

Blocking a commit - Occasionally procedure

if you check something into release branch and you DON'T want it ever to go into an upstream branch

git checkout master-4.2
git merge -s ours release-4.4

if you check in something and you want to edit it first look at the "-n" option which lets you edit before commit. There are a few other ways around this including "git rebase -i" and "commit --amend"

Never do this

copy over the files to the new branch and commit again

Merging on a flexible schedule

You don't have to merge right away, if you want to but if you forget, it's on you. NOTE: Merging from release branch to upstream branch can happen at any time because in the procedure we accept all changes upstream. Do no wait following the procedure to block a commit.