I’ve written a blog post over at my personal blog that you all may enjoy. It’s about learning git by looking at how a Git-like system could be built from first principles, and it may help you to understand the concepts that make Git so powerful.

Git is a simple, but extremely powerful system. Most people try to teach Git by demonstrating a few dozen commands and then yelling “tadaaaaa.” I believe this method is flawed. Such a treatment may leave you with the ability to use Git to perform simple tasks, but the Git commands will still feel like magical incantations. Doing anything out of the ordinary will be terrifying. Until you understand the concepts upon which Git is built, you’ll feel like a stranger in a foreign land.

Keep reading »