Resources for understanding git

by Theo22. July 2012 17:44

To be good at using git, you need not only to learn it but you need to understand it. Git's working seems like magic until you understand why it does what it does.

This is the three best resources i've found for understanding how git works. I've you use git and don't know these, i suggest you take a look. 

The Git Parable - (blogpost:
Tom Preston-Werner has written a great blogpost describing how you might come to design a VCS like git. Now this is a made up story, but provides insights into the reasoning on the design  for git. 

Git for Ages 5 and Up - (presentation:
As you probably already know, git works internally with its commits in a graph-structure. This presentation explains and runs through examples in git while illustrating what git does using Tinker Toys. This may sound weird but is actually a great way to understand git's internal structure.

Think Like A Git - (website:
A site that more directly describes git for "Advances beginners".

James Shore's - Lets Play TDD screencasts

by Theo7. June 2011 20:33

I recently discovered James Shore's most excellent "Lets Play TDD" series. It's a series of screencasts all of around 15 minuttes, which shows the building of a java application from the start with TDD - and this live, with all the choices and hick-ups and whatever included. 

I'm only just reached episode 22 so far, and he's made over a 100 at the time of writing this post. I will highly recommend this to anyone that wants to learn more about TDD in a real project.

As with Kent Becks TDD screencasts, its always great to see the different styles of TDD, i find it a great way to learn more. And James seems to almost produce episodes faster than i have time to watch them :).

First blog post about the series:

Links to all the posts:

..great stuff

Theo Andersen

Hi, you've reached my blog on software development.

I use this blog mostly for my own purpose of remembering stuff, so i only put things here once in a while when i get the time.

My current focus is on TDD, unit testing, object oriented code and IOS development.