Author: Travis Swicegood
Publisher: Pragmatic Bookshelf, 2010
Pages: 160 pages
Aimed at: Newcomers to GIT for version control
Pros: Excellent practical introduction
Cons: Stops short of advanced topics
Reviewed by: Ian Elliot
My only complaint about GIT is that I wish it had a name that didn't make me smirk and my only complaint about this book is that I didn't find it sooner.
In case you don't know what GIT is I'd better tell you, before reviewing a book on the subject, that it is an open source version control system designed and implemented by Linus Torvalds - yes that Linus Torvalds the man who gave us Linux. There are people out there who will argue that GIT is actually his greater achievement - but who knows as he is still quite young.
This is a very short and to the point introduction to GIT. It does a very good job outlining the structure of GIT and demonstrating how to achieve the basic operations - yes it really does deserve the "Pragmatic" in the title.
It starts off with a quick look at the history of GIT, design philosophy and how to get started (including installation). The second section goes over basic operations - creating a repository, moving files, seeing what has changed. The third part moves on to consider more advanced organisational principles - creating branches, viewing branches and so on. From here things get increasing oriented towards the "bigger picture". Section Four is about working with a team, Five revisits branching and Six deals with managing the history. Section Seven deals with what to do when things go wrong and the final section goes beyond the basics - but not very far (it does include a short section on syncing with Subversion). As well as how to use GIT there are also lots of asides that are more about methodology - don't keep changes to yourself, commit often, etc.
If you want to know what GIT has to offer then read the first few sections to get the general idea and simple use of the system. It will also be useful as a reference once you decide to make use of it. One warning is that it isn't an advanced book but it does provide lots of links to the web where you can follow up topics in more depth.
This short book convinced me that GIT was the way to go and got me up and running in no time - what more recommendation can a "pragmatic" book hope for?