                            Preface by Scott Chacon

   Welcome to the second edition of Pro Git. The first edition was published
   over four years ago now. Since then a lot has changed and yet many
   important things have not. While most of the core commands and concepts
   are still valid today as the Git core team is pretty fantastic at keeping
   things backward compatible, there have been some significant additions and
   changes in the community surrounding Git. The second edition of this book
   is meant to address those changes and update the book so it can be more
   helpful to the new user.

   When I wrote the first edition, Git was still a relatively difficult to
   use and barely adopted tool for the harder core hacker. It was starting to
   gain steam in certain communities, but had not reached anywhere near the
   ubiquity it has today. Since then, nearly every open source community has
   adopted it. Git has made incredible progress on Windows, in the explosion
   of graphical user interfaces to it for all platforms, in IDE support and
   in business use. The Pro Git of four years ago knows about none of that.
   One of the main aims of this new edition is to touch on all of those new
   frontiers in the Git community.

   The Open Source community using Git has also exploded. When I originally
   sat down to write the book nearly five years ago (it took me a while to
   get the first version out), I had just started working at a very little
   known company developing a Git hosting website called GitHub. At the time
   of publishing there were maybe a few thousand people using the site and
   just four of us working on it. As I write this introduction, GitHub is
   announcing our 10 millionth hosted project, with nearly 5 million
   registered developer accounts and over 230 employees. Love it or hate it,
   GitHub has heavily changed large swaths of the Open Source community in a
   way that was barely conceivable when I sat down to write the first
   edition.

   I wrote a small section in the original version of Pro Git about GitHub as
   an example of hosted Git which I was never very comfortable with. I didn’t
   much like that I was writing what I felt was essentially a community
   resource and also talking about my company in it. While I still don’t love
   that conflict of interests, the importance of GitHub in the Git community
   is unavoidable. Instead of an example of Git hosting, I have decided to
   turn that part of the book into more deeply describing what GitHub is and
   how to effectively use it. If you are going to learn how to use Git then
   knowing how to use GitHub will help you take part in a huge community,
   which is valuable no matter which Git host you decide to use for your own
   code.

   The other large change in the time since the last publishing has been the
   development and rise of the HTTP protocol for Git network transactions.
   Most of the examples in the book have been changed to HTTP from SSH
   because it’s so much simpler.

   It’s been amazing to watch Git grow over the past few years from a
   relatively obscure version control system to basically dominating
   commercial and open source version control. I’m happy that Pro Git has
   done so well and has also been able to be one of the few technical books
   on the market that is both quite successful and fully open source.

   I hope you enjoy this updated edition of Pro Git.
