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.