Version Control with Git: Powerful tools and techniques for collaborative software development

Front Cover
"O'Reilly Media, Inc.", Aug 14, 2012 - Computers - 456 pages
1 Review

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

What people are saying - Write a review

LibraryThing Review

User Review  - aethercowboy - LibraryThing

In the world of revision control tools, Git is the new kid on the block. Originally developed by Linus Torvalds, of Linux fame, for controlling the Linux kernel, Git slowly caught on in its use by ... Read full review


Chapter 1 Introduction
Chapter 2 Installing Git
Chapter 3 Getting Started
Chapter 4 Basic Git Concepts
Chapter 5 File Management and the Index
Chapter 6 Commits
Chapter 7 Branches
Chapter 8 Diffs
Chapter 13 Repository Management
Chapter 14 Patches
Chapter 15 Hooks
Chapter 16 Combining Projects
Chapter 17 Submodule Best Practices
Chapter 18 Using Git with Subversion Repositories
Chapter 19 Advanced Manipulations
Chapter 20 Tips Tricks and Techniques

Chapter 9 Merges
Chapter 10 Altering Commits
Chapter 11 The Stash and the Reflog
Chapter 12 Remote Repositories
Chapter 21 Git and GitHub

Other editions - View all

Common terms and phrases

About the author (2012)

Jon Loeliger is a freelance software engineer who contributes to Open Source projects such as Linux, U-Boot, and Git. He has given tutorial presentations on Git at many conferences including Linux World, and has written several papers on Git for Linux Magazine.

In prior lives, Jon has spent a number of years developing highly optimizing compilers, router protocols, Linux porting, and the occasional game. Jon holds degrees in Computer Science from Purdue University. In his spare time, he is a home winemaker.

Matthew McCullough, Vice President of Training for, is an energetic 15-year veteran of enterprise software development, world-traveling open source educator, and co-founder of a US consultancy. All these activities provide him avenues of sharing success stories of leveraging Git and GitHub. Matthew is a contributing author to the Gradle and Jenkins O'Reilly books, as well as the creator of the Git Master Class series for O'Reilly. Matthew also regularly speaks on the No Fluff Just Stuff Java symposium series. He is the author of the DZone Git RefCard, and president of the Denver Open Source Users Group.

Bibliographic information