Just trying to make sense of things...

Scott Chacon – Git Documentation Master

Friday, 30 October 2009 08:48 by jordan.terrell

As I’ve continued my investigation into Git, a name kept appearing whenever I found excellent Git documentation.  That name is Scott Chacon.  This is a person who favors concepts over commands, and I immensely appreciate his efforts in demystifying Git.  I’ve found three resources that he, to one extent or another, has authored – all of which are great.

Of the three resources, for someone starting out I would recommend the Git Internals PDF.  It’s concise and simple to understand, and I’ve already seen one person who, more or less was anti-Git, read it in an hour and become pro-Git.  The other two resources are excellent as well.

I have to hand it to Scott, he sure knows his Git.  He just also knows how best to teach it.

Categories:   Programming
Actions:   E-mail | | Permalink | Comments (0) | Comment RSSRSS comment feed

Favor Concepts Over Commands

Monday, 19 October 2009 13:25 by jordan.terrell

Finally, I understand Git!!!

For a while I’ve been scratching my head on why so many people are jumping on the Git bandwagon.  I understood conceptually the benefits of a Distributed Version Control System (DVCS), but every time I sat down to learn Git I ended up more confused than when I started.

I even bought a book - Pragmatic Version Control Using Git.  Even after going through that book I still didn’t get it.  I was drowning in a sea of commands and I understood the basics of adding and committing files, however, outside of that I was finding myself getting into trouble and not having a clue on how to work through it.  I tried using some visual tooling to help, but it didn’t.  I attributed it to Git being far to complicated (and in some ways it is compared to other VCSes), and stopped trying to learn Git with a plan to pick it up in the future.  Much later in the future.

Then I stumbled on a book that, although being published by Apress, is available in open source formPro Git.  Not much time had passed since my last attempt, so I wasn’t really enthusiastic about reading another Git book, so I semi-begrudgingly read chapter 1.  Still, I wasn’t excited – chapter 1 covered the same stuff that was in Pragmatic Version Control Using Git.  Chapter 2 wasn’t that much better – just a laundry list of commands that you are presented with.

Honestly, I don’t know why I kept reading, but I’m SO glad I did.  Chapter 3 is where things just clicked.  The author started to use visualizations to show how Git works, and he started to explain all the underlying concepts of how Git represents things.  As each command is executed, he would show a visualization of how the Git repository changed, and that further reinforced the conceptual ideas.  Thru the rest of the book the visualizations were used and this added so much to the value of the content.

I finally understand Git and I will be slowly moving over to it as my main VCS – replacing Subversion.  I still think that the supporting tools need to mature (e.g. Visual Git tools – I don’t like command prompt source control), but the basic toolkit is rock solid.

If you want to learn Git, I strongly suggest you buy Pro Git (support the author).  If you plan to teach Git using any medium (e.g. book, blog, talk), please favor teaching concepts over commands – your audience just might git [sic] it!

Categories:   Programming | General
Actions:   E-mail | | Permalink | Comments (0) | Comment RSSRSS comment feed