Beginning Git Version Control

In this book, we will go through the basic concept of Git version control.

I design this book as a journey of the main character name John. He is an IT manager that manage a team of developers. He is also in charge of deploying the code to the production server.

Why this git book?

Git is getting more and more powerful. It means more and more commands for us to control every little detail of code changes. That’s good. But as a new learner, I trim the content to provide only the essential concepts and the best practices.

For example, I recommend git fetch + git merge always instead of git pull. You’ll learn all these commands in elsewhere, but in this book, I tell the why and their pros and cons. (In chapter 5)

About Author

I am Thomas Seng Hin Mak, but you may find me on Internet as “Makzan”.

I have been using git version control since 2009. Before moving to git, I used SVN in a game development team. I changed to use git personally and then encouraged the whole team to move to git. Afterwards, I tried different git version control flow in different team, including HTML5 games development, book writing, iOS app development and web projects. I also used different remote repository approaches, such as GitHub, Bitbucket, self-hosted git and Dropbox sync.

Book Status

The book is in first draft stage. That means content is raw and in-edit.

I follow the lean publishing philosophy. We make the book published as soon as it is written. Then we update the book periodically.

You will also find the version status in each chapter.

Version history:

  • 2015-11-23: First draft
  • 2015-12-07: Working on the remote content.
  • 2015-12-28: Write more about merge, rebase, cherry-pick and submodule.
  • 2016-11-07: Organize content into HTML format.
  • 2016-11-20: Minor fixes and PDF output.
  • 2016-11-21: Add config of quote path.
  • 2017-06-30: Moved the manuscript to Ulysses and setup Leanpub. Added “Why this book” section.