Start reading Version Control with Git on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Version Control with Git: Powerful tools and techniques for collaborative software development

Version Control with Git: Powerful tools and techniques for collaborative software development [Kindle Edition]

Jon Loeliger , Matthew McCullough
3.8 out of 5 stars  See all reviews (4 customer reviews)

Print List Price: £23.99
Kindle Price: £11.12 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £12.87 (54%)
* Unlike print books, digital books are subject to VAT.


Amazon Price New from Used from
Kindle Edition £11.12  
Paperback £23.39  
Kindle Summer Sale: Over 500 Books from £0.99
Have you seen the Kindle Summer Sale yet? Browse selected books from popular authors and debut novelists, including new releases and bestsellers. Learn more

Product Description

Book Description

Powerful tools and techniques for collaborative software development

Product Description

Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system.

This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how.

  • Learn how to use Git for several real-world development scenarios
  • Gain insight into Git’s common-use cases, initial tasks, and basic functions
  • Use the system for both centralized and distributed version control
  • Learn how to manage merges, conflicts, patches, and diffs
  • Apply advanced techniques such as rebasing, hooks, and ways to handle submodules
  • Interact with Subversion (SVN) repositories—including SVN to Git conversions
  • Navigate, use, and contribute to open source projects though GitHub

Product details

  • Format: Kindle Edition
  • File Size: 4424 KB
  • Print Length: 456 pages
  • Simultaneous Device Usage: Unlimited
  • Publisher: O'Reilly Media; 2 edition (15 Aug 2012)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B008Y4OR3A
  • Text-to-Speech: Enabled
  • X-Ray:
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: #158,238 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

More About the Authors

Discover books, learn about writers, and more.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3.8 out of 5 stars
3.8 out of 5 stars
Most Helpful Customer Reviews
5 of 5 people found the following review helpful
5.0 out of 5 stars Solid introduction, well written 15 Jan 2013
By mko
Format:Kindle Edition
Have you heard about Git but not sure what is it? This book will give you nearly complete explanation of what Git is all about. In my personal opinion, one of the best introductions to Git. Ever. The book covers most common topics and does it right. In case you are complete beginner, it provides initial Git setup section. So, be afraid not. If you prefer to use Windows over Linux or OS X, you will be told how to setup things as well. What's most important is that all the concepts are well illustrated and well explained with pictures and examples. However, sometimes you will have to focus on what you read to get the complete knowledge of the topic. It's not just that you flip the pages and that's it. When it comes to scientific jargon I'd say it's on the moderate level. For readers, having knowledge of the terms related to source management systems would be a plus here, but is not necessary.

Just one warning, in case you are purely Windows user and you have got used to work with GUI only. You will have to go back to CLI while reading this book. I don't say this is wrong, not at all, but it might be a challenge for some Windows users.
Comment | 
Was this review helpful to you?
5 of 6 people found the following review helpful
An easy read and makes a lot of sense for someone with existing version control knowledge (Subversion, CVS etc.).

If you are starting from scratch and have not used source control before then you'll find all the new concepts too overwhelming. That's not an issue with the book, it's just not pitched at the beginner level.

The content is primarily focussed on the Linux tools but that's not a problem as these have all been ported to the other platforms (client installation is covered early on). Because of this Linux focus the graphical tools are not shown which would be an easier way in for non-command line oriented developers. To get a decent understanding of Git I'm going to be using the command line for a month anyway.

My (minor) gripes over with, I would really recommend this book is used as a training aid, working through a chapter every day perhaps (some chapters are heavy or can be skimmed, you can always come back to them later). New concepts and terminology are covered well which is really useful as I'd no idea what Stash, Rebase and Reflog were about.

If I could have a wishlist for the 3rd edition it would be to include chapters on both Windows and OSX, plus a chapter on the top rated graphical clients.

In summary, buy this book. If you are new to source control or just don't like the command line, supplement it with a decent graphical toolset such as TortoiseGit (you can find tons of them for most platforms at[...]
Comment | 
Was this review helpful to you?
Format:Paperback|Verified Purchase
Clearly and nicely written with many worked examples, but Linux-centric - no mention of Windows, and little on GUI interfaces, so expect to use the command line.
Comment | 
Was this review helpful to you?
1 of 9 people found the following review helpful
2.0 out of 5 stars reasonable book 4 Mar 2013
Format:Paperback|Verified Purchase
The target audience is the one that want to understand what is under the hood.
The version 2 has no much added value.

But for daily use it is insuffient.
With daily use I mean cherry-pick problems, cleaning, showing what files are in commit. Cherry picking from a different repository. Egit corrupting your git. etc.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.5 out of 5 stars  32 reviews
87 of 90 people found the following review helpful
3.0 out of 5 stars A fully-loaded information train wreck 15 Mar 2013
By Galen Menzel - Published on
Format:Paperback|Verified Purchase
Though more comprehensive than Scott Chacon's Pro Git, this book is a mess. It fails both as a reference and as a tutorial. It's written in a verbose, example-driven style, which dulls its usefulness as a reference; and the authors' ludicrous sense of pacing ruins it as a tutorial.

The chapter that is supposed to serve as an introduction to git (Chapter 3) is a scattershot mishmash of common tasks like executing a commit and once-off configuration commands like setting your commit author information. The common tasks that it covers tend to be covered very, very quickly as more of a teaser for more-complete coverage later in the book. While it's fine to delay full coverage of usage until later, reading only this chapter would leave you totally ill-equipped to do anything useful with git. By contrast, Chapter 2 of Pro Git contains most everything you need to be an autonomous, if somewhat unsophisticated, git user working in a single branch.

Chapter 4, ostensibly about "Basic Git Concepts" (since that is its title), is actually mostly about git internals, and is completely out of place at the beginning of the book. Why are we covering blobs and packfiles before we even cover what a branch is? Does knowing the git write-tree command help me understand how to use git well as a beginner? (And if you're not concerned about beginners, why include information about how to install git?) This is basic stuff, guys: cover the high-level interface first, then cover the low-level commands and internals. Would you start off a Unix tutorial by talking about disk blocks and inodes before covering what a directory is?

This pattern continues throughout the book. The authors are completely tonedeaf to the needs of the learner, and simply stream information out, never seeming to ask themselves if their presentation will create a progressively more effective git user.

Coverage of tags is suprisingly bad (almost nonexistent, in fact).

All that said, this is probably the most-comprehensive book on git available. And the later chapters on advanced manipulations and tips and tricks are good. I give it four stars for content, and dock it a star for its abysmal organization. It's not throw-it-in-a-fire bad, but you're better off reading Pro Git as a tutorial, and referring to the man pages (which are quite good) after that.
15 of 17 people found the following review helpful
5.0 out of 5 stars Introduction, Tutorial, Examples, and Manual in one 7 Oct 2012
By Eric Chou - Published on
This is the first time I look at Git as a basic tool to help me keep my scripts in order. I don't code for living, all the places I have been to already has a set of version control system in place for developers. The quickest way to get going was to leverage the existing tools. It is not until now that I write enough scripts that keeping them in order is starting to become an issue. I am a big believer in 'learn once, use many times', so even though Git sounds like an overkill for my purpose, I have decided to explore the possibility of using Git for my projects.

Half way thru the book, I have already decided that this is probably going to be the only book I will ever need for Git. Combing with the build-in manual and online documentation for the latest features, there is no need for a second book on Git for my purposes. The book starts with quick history and introduction, then goes into more depth on each of the aspects of Git, starting from the most used to advance.

For regular users, reading up to Chapter 4 will likely be a good starting point start using Git and reference back here and there. Chapter 3 gave a good tour of the most used commands and Chapter 4 introduces the basic concepts of Git. Since the main purpose of Git is for collaboration of coding, it is likely that once you understand the concepts, you will need to talk to your fellow coders to come up with a agreeable setup.

Personally, I think it is ok to start reading a little faster from there on, keep an eye out and slow down when you see an applicable concept, but knowing where to look back later when you need the information is the way I approached it.

Chapter 20 is a good chapter to read in depth if you are using SVC but trying to convert to Git, Chapter 21 is a good chapter on GitHub.

Overall, I feel it was a wise investment of my time in reading this book.
16 of 20 people found the following review helpful
5.0 out of 5 stars Good Introduction and Reference Book for Git 25 Sep 2012
By David Hayden - Published on
I received a copy of Version Control with Git 2nd Edition as part of the O'Reilly Blogger Review Program. I've used Mercurial and Subversion for years, but just started using Git and GitHub for version control.

Each chapter dives into a new topic, giving you what you need to be productive and then dives deeper and deeper into more advanced commands and concepts. Most beginners will learn the basic concepts on their first pass of the book and later use it as a solid reference book to answer a question or solve a problem. I read about half of most of the chapters as the amount of detail started to get a bit overwhelming for my current needs, but I will definitely appreciate the additional detail and more advanced concepts as I get more real-world experience.

Chapter 21 has a pretty good overview of GitHub and its social coding features. I was delighted to see a number of the features highlighted, but would have liked a little more detail on them. Given the book is about Git and not GitHub, however, I can understand why the authors didn't dive into GitHub too deep.

It should be noted that the examples are using Linux. I develop both in Mac OS X and Windows, however, and didn't have a problem understanding the samples. The Git commands are the same on any OS, and it is just the OS commands and environment that are different. It is easy to follow along and run the examples.

I was a bit surprised to see that "GitHub for Windows" wasn't mentioned as a way to install Git on Windows. I only noticed Cygwin Git Package or msysgit mentioned in the book. I suspect this was missed when the book was updated during the 2nd edition. If you are installing Git on Windows, I highly recommend "GitHub for Windows."

Overall, I really enjoyed the book. I was able to immediately be productive using Git and now have a good reference book when I have a question or problem using Git!
5 of 6 people found the following review helpful
5.0 out of 5 stars Take Advantage of Git's SCM Power 30 Oct 2012
By P. Mackie - Published on
In software development, Git is a distributed revision control and Source Code Management (SCM), (a.k.a, Software Configuration Management) system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development; it has since been adopted by many other projects. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Git is free software distributed under the terms of the GNU General Public License version 2.

Git is popping up everywhere as "the" SCM (a.k.a. Version control systems (VCS)) repository to deploy, replacing Subversion (SVN) and certainly the much older grandaddy CVS (Concurrent Versions System) repository management tools.

The above being said, you are going to need to master the use and application of Git repositories from your development workstation. If you have yet to make yourself ready to deal with accessing Git repositories, then why not now? This book is a good way to start.

Git provides many repository workflow scenarios. You know, all those many repository branch and merge operation. The authors provide an excellent set of graphic figures explaining all of those many repository workflow. These graphics sure helped my better understand what I can do with Git.

Especially nice, in the 2nd Edition of this title, is a new 32 page chapter use and application of Git with GitHub, the "Repo for Public Code." Finally, we've got a one point of reference of the use and application of using GitHub.

If you are going to use Git SCM repositories, then you may require a Git client on you dev workstation.The book's chapter on "2. Installing Git" is sorely missing how to install the GitHub client. The following is client install information that you to know about.

* Windows XP, Vista, 7 & 8 Github [...] install:
- Install download: [...]
- Help: [...]

The only knock I have is that the "Version Control with Git" book is void of any how to install information for Git clients on your Mac OS X workstation. The following four client tool alternatives should help you with Git client select and deploy if you're an Apple Mac OS X developer.

* Atlassian SourceTree (Git/Hg))
Excellent Free Git Client, available from the OS X App Store

* Install Xcode Command Line Tools (includes Git) using one of two methods:

1. Open your Xcode IDE, then go to to Preferences > Downloads and click on the install button next to 'Command Line Utilities'.
2. Go to [...], and download Xcode Command Line Tools install.
Select and download:
Command Line Tools (OS X Mountain Lion) for XCode - October 2012
Command Line Tools (OS X Lion) for XCode - October 2012

* OS X Github [...] install:
- Install download: [...]
- Help & Keyboard Shortcuts: [...]

* Git Bundle for the TextMate Development Editor
14 of 19 people found the following review helpful
5.0 out of 5 stars Version Control with Git, 2nd Edition 20 Sep 2012
By J. W. Rine - Published on
Git is a distributed revision control and source code management system used primarily in software development. Git is the version control system used for Linux kernel development. Git was initially designed by Linus Torvalds. Git is free software distributed under the GNU General Public License v.2. Version Control with Git, 2nd Edition will take the reader from installation through advanced Git usage with concise tutorials.

This book is my first exposure to Git and version control systems. After noticing WordPress and other theme frameworks appearing in Git repositories hosted at Github I wanted to learn more about the technology. In my opinion, Version Control with Git, 2nd Edition hits a home run in the tech book category. The books starts with the basics of getting and installing the free software. Progression starts at the fundamentals and advances to more complex examples building on the foundations laid in the previous chapters.

Git can be installed on Linux, Unix (POSIX), Mac Os X, and Windows. I installed to Linux. While working through the examples I was impressed that the code samples worked without fail. Git is a complex software program. The authors take considerable steps to explain the underlying logic of features. Understanding why something happens is always helpful when learning a new technology. Abstract concepts like branching and merging were explained using diagrams. Once a diagram format was introduced, it was used in subsequent explanations when applicable. The book communicates the subject matter in a clear and easy manner that instills confidence in the reader. Multiple examples are used to illustrate complex subjects that would otherwise seem abstract. This practice is quite helpful in understanding the complex concepts such as branching, merging and the relationship between the object store, head and index of a repository.

I would recommend this book. I plan to reference the text often while using the Git version control system.

Disclosure: I received a free e-book copy for review purposes.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category