Basic branching with git
September 5th, 2008
With 3 long-running tasks concurrently on my plate, I finally got around to learning branching in git, and it’s easy!
Until this week, I had managed to get by without learning to branch. I have looked previously but got a little lost. I often temporarily stored my work using “git-stash” to work on multiple things at once, but this is very limiting.
So, Here we go. My basic workflow now look like this.
Create a new branch (based on the HEAD of your current branch), and automatically switch to it:
git checkout -b my_branch
Then you can work within this branch as you always would.
Work, work, work…
git add files_i_have_edited.txt
git commit -m 'My changes'
Repeating this step until the task is complete. Then, to get the changes back into the master branch. Switch to it
git checkout master
And pull the changes from the branch
git pull . my_branch
Easy. No need to remember revision numbers where you branched, or which changed have already been merged. You can of course switch back to the branch and continue work with
git checkout my_branch
this “edit, commit, pull” cycle can continue until the task is complete. Then, once you’re satisfied you can delete the branch with
git branch -d my_branch
It’s still in the history of course, but no need to keep old branches around.
Hope that makes things clear to anyone else who was confused as I was by some of the overly complicated explanation of branching in git.



