6/23/2010 - 1:15 PM

Git Workflow for teams at FCStone

Git Workflow for teams at FCStone

This workflow is meant for feature development in a branch.  Branches should be very short lived in this workflow.  Because they are so lightweight in Git, this shouldn't be a problem. 

Only go past step 7 when you are done with that feature and ready to merge it back to the main trunk/master branch.

Based from Jimmy Bogard http://www.lostechies.com/blogs/jimmy_bogard/archive/2010/04/30/automapper-git-workflow-dealing-with-bugs-issues.aspx

1) git checkout –b “Feature1”
<work work>
2) git add .
3) git commit –m “Commit message”
<repeat steps 2&3 as necessary>

<Upon completing Feature1>
<Get latest from shared Repository (assumes shared is the master branch)>
4)git checkout master 
5)git pull --rebase origin master (pull in latest and rebase local master mapped to origin/master)

<Update branch "Feature1" with latest changes from origin/master (this may require some fixes on Feature1>
6)git checkout Feature1
7)git rebase master
<Fix any conflicts this may cause>
7a) git add .  <This will say, yes I'm ok with the changes that you are suggesting i.e. removing the file, or updating the file etc>
7b) git rebase --continue
<repeat 7a and 7b as needed until all commits/patches have been applied>

<Migrate changes/features from branch "Feature1" into master local branch>
8)git checkout master
9)git rebase Feature1(or merge, same thing)

<Submit changes back to shared repository>
10)git push origin master
11)git branch –d Feature1