Skip to content
Vanuan edited this page Apr 17, 2011 · 26 revisions

** Updated on 2011-04-07 **

Tags:

Master tags should be named x.y.z, development tags should be named x.y.z-development

There are should be such branches in a git repository:

  • Persistent:
    • master - stable branch
    • development - future version branch
  • Temporary:
    • topic branches that introduce new functionality
    • fix branches that fix improper functionality

The following rules apply to the git workflow:

  • Every temporary branch should be based on development.
  • Temporary branch should pull only from development.
  • Every temporary branch should be merged into development only when it's considered complete.
  • Every temporary branch should be rebased on develompent before a merge.
  • Every temporary branch should be merged to development with "--no-ff" option.
  • When a team decides to release a new version, the development branch is rebased on and fast-forwarded to master, and tagged with "vX.Y.Z"
  • When applying non-topicized fixes to development, pull rebase should be used to synchronize the work:
git checkout development
git pull --rebase origin development
git push origin development

Git workflow

Git workflow 2

Clone this wiki locally