Recently I’ve started to use Git more and more for various projects – code, university stuff and important dotfiles, just to name a few examples. Not completely used to the workflow yet, but I feel pretty comfortable with the basic Git commands now.
In the beginning I had a hard time grasping the concept of Git and version control systems in general. Two online resources helped me a lot in understanding Git, which I also want to share with you:
- The Git Parable
After reading it, you’ll still have no clue how to use Git. But you will know for what purposes Git was designed, and what Git is. From here it’ll be much easier to learn the commands to use Git.
- Pro Git
Online version of the Pro Git book; well written text and many pretty pictures make it easy to understand what happens “behind the scenes”. Goes through most stuff you’ll need to get started with Git.
Thanks go to Luca (einar77) and Ingo (neverendingo) for the tip about Pro Git.
My own learning experience
Prior to Git, I had no experience with version control systems at all (checking out KDE trunk doesn’t count). Sometimes I copied directories manually as a “version control”, but it would always end up in a mess.
First I tried to go for the “learn by doing” way. This wasn’t very successful – when working on something I would rather focus on finishing it than messing around with Git, in particular if deadlines were involved. In the end I didn’t get to use Git that often.
One day I stumbled upon The Git Parable which I linked to above. After reading it, I felt motivated to learn Git again – especially after hearing that KDE eventually is going to be moved to Git. I got the link to the Pro Git site on IRC and read through the first chapters. Git finally started to make sense.
I hope you’ll find these two links as useful as I did. Happy gitting!
November 20, 2009 at 4:26
Git is great but it took me some googling to figure out how to check out a writable checkout from gitorious. I’m more in favour of Git than I have been of svn. And I can’t wait until KDE moves to Git and leaves SVN behind.
Thanks for the links =] I’ll learn more now ;P
November 20, 2009 at 13:21
I use Perforce at my work. However there are a couple of strong use cases which git supports.
Offline working – e.g. when I’m out of the office, or when the central server is down.
Private branches – when I have on going changes which aren’t ready to push back to the central repo. I still want version control even if my work isn’t ready for trunk. I could create loads of development branches in Perforce, but that would pollute the public branch namespace.
Hopefully your links will help with the learning curve. I’ll also need to look at git-p4, since migrating the company to git isn’t on the cards (yet).