This is how we manage Ginger releases.
-
Five working days before a release, create a release branch from the
master
branch calledrelease-0.x.0
(e.g.release-0.14.0
). -
Regular development will continue on
master
. Any hotfixes that should make it in the release must first be pushed tomaster
and then cherry-picked in the release branch:$ git checkout master $ git pull $ git checkout release-0.14.0 $ git cherry-pick [commit hash] $ git push
-
On release day (preferably the first Monday of the month in tandem with Zotonic’s releases) tag the release branch and then discard it:
$ git checkout release-0.14.0 $ git pull $ git tag 0.14.0 $ git push origin 0.14.0 $ git checkout master $ git branch -d release-0.14.0 $ git push origin :release-0.14.0