This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I've read several books from the Pragmatic Bookshelf and I've always liked their approach of sticking to the relevant bits while being easy to read, and, in general, offering more than the official product manual. This apple didn't fall far from the tree.
"Pragmatic Version Control Using Git" is a compact tutorial into the world of distributed version control systems and, of course, Git in particular. The book starts with a gentle introduction to concepts that might not be familiar to a reader coming from the world of centralized version control systems such as CVS and Subversion.
After familiarizing the reader with commits, branches, tags, Git's index, the difference between local and remote repositories, and so forth, the author walks us through day-to-day kind of operations. The walkthrough explains the before-mentioned concepts quite well and I had no trouble following the command listings and the narrative, although I would've liked to see illustrations of the local repository's contents along the way - similar to what the author employed when introducing the concepts.
All in all, this book is a very good introduction to the world of distributed version control using Git - it packs pretty much everything that's necessary for a new Git user. Where I feel it's slightly lacking is in administration, i.e. how to set up a Git server for your team or company. The author does walk you through installing a Gitosis server but I'm still left feeling like there's more I should know.
Again, a very good introduction and warmly recommended to anyone looking to move to Git and into the world of distributed version control.