Skip to content
dankelley edited this page Sep 1, 2010 · 6 revisions

Branch overview

The branch master should compile and work. The branch develop is used for development, and sub-branches for bug fixes are attached to it. (The scheme is patterned on the "nvie" model (http://nvie.com/git-model).

Initial setup

FIrst, set up the remote branch:

git push origin origin:refs/heads/develop

(NOTE I did git fetch origin after that, on the first computer, but I do not think there is any need to do that, given that the step given below made the second computer work perfectly well.)

Second, on each computer that will be used for development, do the following

git branch --track develop origin/develop

Working on the "develop" branch

First, get any changes made previously (e.g. on another computer)

git pull

(Note: I am not sure whether the checkout will do the pull, but what the heck.)

Second, create a new branch. Let's say the goal is to resolve issue100. First, make a new branch for this work with git checkout -b issue100 Do as many git commit operations as makes sense. When the issue has been resolved, merge it into develop by doing

git checkout develop
git merge --no-ff issue100
git push</code></pre>

Incorporating the "develop" branch in the "master" branch

Be sure to have done git push on the develop branch. Then, check out master

git checkout master

and then merge develop into it

git merge develop

and, finally, push this updated master back to the remote repository

git push