Skip to content
Vlad Dumitrescu edited this page Oct 27, 2010 · 1 revision

Modeled after http://nvie.com/git-model, but we are using branches a little differently, we need to think about it a little more.

Feature

$ git checkout -b features/Z pu
$ git push origin features/Z
$ git checkout pu
$ git merge --no-ff features/Z
$ git push upstream pu
$ git branch -d features/Z
$ git push origin :features/Z

Release

$ git checkout -b next pu
$ org.erlide.site/update_versions.sh X run
$ git commit -a -m "Bumped version number to X"
$ git push upstream next
$ git checkout master
$ git merge --no-ff next
$ git tag -a  vX -m “released vX”
$ git push upstream master 
$ git push upstream --tags 
$ git checkout pu
$ git merge --no-ff vX
$ git push upstream pu
$ git branch -d next
$ git push upstream :next

Hotfix

$ git checkout -b hotfix-X master
$ org.erlide.site/update_versions.sh X run
$ git commit -a -m "Bumped version number to X"
$ git commit -m "Fixed severe production problem"
$ git checkout master
$ git merge --no-ff hotfix-X
$ git tag -a vX -m “released vX”
$ git push upstream master
$ git push upstream --tags
$ git checkout pu
$ git merge --no-ff vX
$ git push upstream pu
$ git checkout next     # if there is an active release branch
$ git merge --no-ff vX   #  
$ git push upstream next  #  
$ git branch -d hotfix-X

Clone this wiki locally