Navigation
My Stuff:
Other Sites
Search
Monday
Sep292008

Git: Branching and Fast-forward Merging

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 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.

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.

September 29, 2008 | Unregistered CommenterPatrick

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!

September 29, 2008 | Unregistered CommenterJamie Phelps

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).

September 29, 2008 | Unregistered CommenterGary Martin

Thanks Fraser, very useful indeed!

September 30, 2008 | Unregistered Commentersapporo

That was most helpful, and worked as depicted. Now just get your GUI git tool out with those kind of visualisations...

October 3, 2008 | Unregistered CommenterLouije

Thank you very much. Its really nice learn how 'git merge' works.

November 1, 2009 | Unregistered CommenterMohan R

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.

June 17, 2010 | Unregistered CommenterPaul

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.

June 22, 2010 | Unregistered CommenterAndy Lee
Editor Permission Required
You must have editing permission for this entry in order to post comments.