When I first heard about Version Control Software, I thought it was nothing for me. But working in a team, and sharing the same source code poses interesting questions: “can I edit that file now?”, “who the hell removed my code?”, … If this sounds familiar to you, then maybe it’s time to do what I did: start using Version Control Software. Even if you’re working alone, it can never hurt to be able to revert back to an earlier version of your code.
Review
If you’re anything like me, then you want having a good reference for the tool you’re going to use. I prefer that reference to be a physical book. Nothing beats being able to browse through a book when searching for something. The one I’ll be reviewing is called “Pragmatic Guide to Git” and it’s written by Travis Swicegood. If you’ve ever been to a conference and seen him give a session about Git, then you’ll know Travis knows what he’s talking about. If you haven’t had the pleasure, then take it from me
The book is aimed at beginners who “don’t need a lot of hand-holding”. This just means that it’s for everyone who just wants to get started using Git, without much theory. And that’s exactly what this book delivers. The book is divided into parts, containing several tasks. A task can be translated as a single command in Git, while a part is a group of commands which all serve a common purpose.
These parts are:
- Getting started
- Working with Git
- Organizing your repository with branches and tags
- Working with a team
- Branching and merging revisited
- Working with the repository’s history
- Fixing things
- Moving beyond the basics
As you can see, things start off slowly, and gradually you start learning more and more. The good news is that all these parts are ordered in exactly the same way as you’re probably going to need them. Sometimes I find myself skipping some chapters in a book, because the things I needed were not ordered logically. Not so with this book.
Each of these parts contains tasks. A task could be “Committing changes” or “Creating and switching to a branch”. A task gives an explanation about a single command, and some of the options for that command. What’s handy is that for each task, the explanation is on the left page, while the code is on the right page. No need for you to start searching through paragraphs where the exact code is you need. Good chance you’ll quickly find it on the right hand side.
Conclusion
If you’re all new to Git, then this book is exactly what you need. You start of with the basics, and with each task you learn new stuff. The layout of the book is of great advantage when you quickly need to find something back. Travis did a great job organizing the different subjects in a way that gives you a very natural order to learn Git. For those of you who want to dive deeper, or need more advanced knowledge, then this book isn’t for you. As a first book on Git, or a quick reference, you won’t be disappointed when buying Pragmatic Guide to Git.