views:

1433

answers:

6

Is "Pragmatic Version Control Using Git by Travis Swicegood" worth buying? Or should I just stick with online docs?

I have basic level of Git -- using Git on my own without any branching or merging, or any kind of team use yet. Hoping to learn Git properly on managing branches and distributed team development with Git.

+1  A: 

Git is deep and powerful. In getting a better handle on some of the more complicated workflows, particularly with teams, I have found that resources beyond the online documentation have been very helpful. Swicegood's book is excellent.

Ben Lynn's Git Magic is also excellent.

That said, Pat's right that the Peepcode Git Internals is way deeper.

Abie
Where in Swicegood's book are complicated workflows described? I read the whole book and don't recall any interesting use cases.
Pat Notz
Bisecting (p. 131) is one example I hadn't seen described quite as clearly elsewhere.
Abie
+1  A: 

I looked at it and decided not to buy it. So I haven't read it and maybe it has some hiddden nuggets that make it worthwhile.

To me it seemed about on a par with the online docs. Seemed well-written and clear, but didn't seem to have new depth about either version control or Git. It had in chapters on moving from SVN & CVS with good diagrams mapping SVN commands and CVS commands onto Git commands.

But it didn't seem to have anything on how to move your head from what you know about SVN/CVS to Git. That's what's really needed.

Paul
Lots of good resources on wrapping one's SVN brain around Git. One example: http://git.or.cz/course/svn.html
Abie
I probably wasn't very clear. That is an excellent resource, but it does the opposite of what I think is needed -- it helps you think in SVN and translate into Git. What I think we need is help to STOP thinking in SVN and instead to think fluently in Git.
Paul
+1  A: 

I haven't read the book, but I have read the CVS and SVN versions of "Pragmatic Version Control" and they were priceless, so I would think this book would be on par.

orip
I actually thought the SVN version of "Pragmatic Version Control" was so shallow and repetitive, I didn't even consider this Git book (perhaps unfair since it is a different author).
Dan
+20  A: 

I actually read the book cover-to-cover and I wasn't very impressed. Here's what I wrote on goodreads:

This book is pretty basic. It's not a bad start if you're coming from CVS or SVN with zero DVCS experience (git, bzr, hg, bk, ...). A book on Git should either be for the user who wants to maintain their CVS/SVN workflow but with Git or it should be for the whacked out uber coder who wants to get crazy wid it (like moi). Sadly, this book tries to be both without really being either. If you're interested in reading it, see if you can bum it off a friend.

If you really want to understand Git you should consider reading the excellent Git Internals PDF (US$9 from PeepCode). Once you grok the conceptual underpinnings of how Git works everything else you read will make a lot more sense and you'll pick up on things much faster.

While I'm making recommendations, you should also read Packaging Software Using Git (online/free). This article nicely describes different workflows and when it's a good idea to re-write history (rebase, etc) and when it's a horrible idea.

Either way, stick with it. Git is totally worth it.

EDIT: Git from the Bottom Up is free article along the lines of Git Internals mentioned above. It's possibly even more low-level than Git Internals but still very well written and accurate.

Pat Notz
+1 for the Git Internals PDF mention
Abizern
+1  A: 

I quite liked it. It's in no way an advanced book though, if you want to know hot git works behind the scenes or lots of clever tricks then it's maybe not for you, but if you want an easy to ready guide to version control and how to use git to achieve that then it's quite good. If your team started using git it's the kind of book you could give to team members to teach them what they need to do.

There is nothing in there that you can't learn online just as easily and in more detail, but it's a good entry level book. If you are already using git it's proabbly not for you though as it won't teach you much - but I thought it was a good book.

John Burton
+1  A: 

As much as I wanted to really enjoy Pragmatic VC Using Git it fell short of expectations set by the unusually high quality of the free/cheaper offerings.

The Peepcode Git Internals PDF, as mentioned before, does a much better job explaining Git and appropriately setting your mental model of how to work with Git.

I really can't fault the Swicegood book much though. It accomplishes what it set out to do: teach a user version control using git. If you've read the other books in this same series you're not going to learn a lot.

Unfortunately, even new-comers are probably better served learning Git for what it is, not as "a version control system like subversion and cvs but..." Most of the other git tutorials adopt this stance. While it may be somewhat off-putting if you're really not interested in the technical details or guiding philosophies and just want to get to work in the long run you're better served.

So bottom line, I'd pass on the Swicegood book, it may be worth reading, but probably not worth owning as you're not really going to refer back to it often.

mczepiel