Monday
Sep292008
Git: Branching and Fast-forward Merging
Monday, September 29, 2008 at 05:18AM
I made these videos late last night, mostly on a whim and to see if people found them useful. I've been digging deeply into Git over the past couple of weeks and, if I do anything well, I think one thing I make a decent job of is to go deep on a subject and then blog about it.
I learn in a very top-down way - I'm not initially detail-oriented. First I want to know the big picture, the overarching ideas and the big levers that you pull with all your might. I prefer to understand the screws and springs after I've grasped the big things. These are the result of my screws-and-springs research.
Disclaimer: I'm still a relative git newbie, although I have been using it for serious work since March, so you should verify what I say before going to town on your repositories. Also, I am doing my best to 'umm' and 'aah' less on these :-)
Branching
This video explains the interaction between commits, branches and branch heads.
Fast-forward Merging
This video graphically explains what the git "fast-forward merge" feature does. This is a special-case operation in which you branch off a commit, work only on the new branch and then merge back. Compare this video to the one above in which
This video contains a slight error around the 2:00 mark that is noted in the Viddler timeline.
I would appreciate feedback on whether you find these useful.
I learn in a very top-down way - I'm not initially detail-oriented. First I want to know the big picture, the overarching ideas and the big levers that you pull with all your might. I prefer to understand the screws and springs after I've grasped the big things. These are the result of my screws-and-springs research.
Disclaimer: I'm still a relative git newbie, although I have been using it for serious work since March, so you should verify what I say before going to town on your repositories. Also, I am doing my best to 'umm' and 'aah' less on these :-)
Branching
This video explains the interaction between commits, branches and branch heads.
Fast-forward Merging
This video graphically explains what the git "fast-forward merge" feature does. This is a special-case operation in which you branch off a commit, work only on the new branch and then merge back. Compare this video to the one above in which
NewFeature was branched and work continued in parallel on both master and NewFeature.This video contains a slight error around the 2:00 mark that is noted in the Viddler timeline.
I would appreciate feedback on whether you find these useful.
in
Tech
Tech
Reader Comments (8)
Hi Fraser,
thank you very much for this short video tutorials. I always find it more useful to actually see how something is working or has to be done than reading it.
Greetings and keep up the good work.
Great work, Fraser. I've been toying with the idea of moving to a DVCS. Your blog posts and Twitter stream have been interesting to follow as you work through learning git. Please do keep sharing!
Hey Fraser, thanks these are fab, keep going please :-) I've been 'just getting by' with the bare minimum of git commands since March, when I started to volunteer some time to the Sugar/OLPC projects (they use git for all their source control). Watching these videos makes git less scary (git seems to have just so many, very slightly different, commands).
Thanks Fraser, very useful indeed!
That was most helpful, and worked as depicted. Now just get your GUI git tool out with those kind of visualisations...
Thank you very much. Its really nice learn how 'git merge' works.
This is a really good way to explain fast-forward and merge, i mean the video, thoug the voice volume is really low.
Thank you very much.
Very nice and clear. May I ask what tool you used to create the diagrams -- was it OmniGraffle? I just watched your rebase video and I'm wondering how you got that effect where you hover over a shape and it highlights in red.