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

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

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
 

Contents

Chapter 1 Introduction
1
Chapter 2 Installing Git
9
Chapter 3 Getting Started
19
Chapter 4 Basic Git Concepts
31
Chapter 5 File Management and the Index
47
Chapter 6 Commits
65
Chapter 7 Branches
89
Chapter 8 Diffs
107
Chapter 13 Repository Management
235
Chapter 14 Patches
263
Chapter 15 Hooks
285
Chapter 16 Combining Projects
295
Chapter 17 Submodule Best Practices
313
Chapter 18 Using Git with Subversion Repositories
321
Chapter 19 Advanced Manipulations
337
Chapter 20 Tips Tricks and Techniques
367

Chapter 9 Merges
121
Chapter 10 Altering Commits
151
Chapter 11 The Stash and the Reflog
181
Chapter 12 Remote Repositories
195
Chapter 21 Git and GitHub
385
Index
417
Copyright

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 GitHub.com, 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