08 June 2013

I am happy to announce that I am going to be the author for Beginning Git and that it will be published by Apress. Books in the ‘Beginning’ range tend to be prequels for the ‘Pro’ range of books. There is already an excellent book written by Scott Chacon called Pro Git (also published by Apress) and under normal circumstances, the book I’m writing now would lead nicely into Scott’s book. Only there is a bit of a problem; in short, Scott’s book is too good.

That’s not just idle praise, he really has nailed down the basics really nicely and it would be pointless for me to try and reinvent the wheel. Usually when a book is written in the ‘Pro’ series, there are at least some expectations of prior knowledge that prevent someone completely new to the topic from getting the most out of the book. That’s the gap the ‘Beginning’ series would fill; getting the beginner up to speed so that they are ready for the ‘Pro’ book.

Well, seeing as I can’t write a traditional beginning book, I decided to take a slightly different twist on the topic. Rather than focus on Git itself, I’m going to focus on how Git is used socially. I think it is fair to say that many people come across Git the first time because they happened to need it for something else. Perhaps they needed to download source from somewhere or had to check out a repository - but how many people actually went searching for Git for its own sake? I know I didn’t, and it wasn’t until I had got myself hooked using sites such as Bitbucket and Git Hub that I found myself using Git for my own every day needs.

So we’ll be going back to basics. We’ll start off by looking at version control, what it is and why you should probably be using it. We’ll look at the evolution of version control systems and discuss some of the highlights and key points (such as the change from central to distributed systems) and look at some of the things that makes Git special.

Next we look at how to install Git on all the major platforms as well as covering how to get SourceTree on your machine (which is an awesome free Git client for the Mac and Windows). We’ll also cover how to install Git using the package managers on various flavours of Linux, so by the time this section is done, everyone will have a working Git installation.

Now it’s time to take a look through one of the social Git sites. I am intending to cover both Git Hub and Bitbucket, but I haven’t yet decided which one will be the main focus of the book. For the basics, you can pretty much pick and choose between them, so the principles you learn for one will generally be applicable to the other. Regardless, you will be given a whirlwind tour of the site, its great features and we’ll get an account for you set up so that you can use it through out the rest of the book.

Then it’s time to actually use Git and start creating and using it as a tool. We’ll give you a quick start for all the basics so that you can hit the ground running and for anything that we don’t cover in detail, we’ll point you to the relevant place in the Pro Git book. This way we can focus on getting you started, but you always know where to go if you need a little bit extra.

I’m also hoping to cover some of the enterprise offerings available these days. Specifically, I’d love to discuss how to set up either Stash or Git Hub Enterprise. I think a lot of people who are considering using Git want the benefits that the social platforms offer, but are concerned about security and want to maintain the systems in-house. You can of course set up a simple Git repository on a server somewhere, but then you wouldn’t get all the awesome benefits that these platforms offer. This I think will be something of key interest to readers, if for nothing else than to be aware of their optoins moving forward.

So there you have it. I think this book will be ideal for people new to Git (and version control in general) who want to hit the ground running, but would like a bit more support before they tackle Git head on. That said, if you’re already familiar with Git or Mercurial or you’re already using these sites on a daily basis, I would suggest skipping this book and heading straight for Pro Git instead.

After all, each to his or her own :)



blog comments powered by Disqus