Pragmatic Version Control Using Git

Book description

There's a change in the air. High-profile projects such as the Linux Kernel, Mozilla, Gnome, and Ruby on Rails are now using Distributed Version Control Systems (DVCS) instead of the old stand-bys of CVS or Subversion.

Git is a modern, fast, DVCS. But understanding how it fits into your development can be a daunting task without an introduction to the new concepts. Whether you're just starting out as a professional programmer or are an old hand, this book will get you started using Git in this new distributed world.

Publisher resources

View/Submit Errata

Table of contents

  1. Pragmatic Version Control
  2. Table of Contents
  3. What readers are saying about Pragmatic Version Control Using Git
  4. Acknowledgments
  5. Preface
    1. Who’s This Book For?
    2. What’s in This Book?
    3. Typographic Conventions
    4. Online Resources
  6. Part 1: Welcome to the Distributed World
  7. Chapter 1: Version Control the Git Way
    1. 1.1 The Repository
    2. 1.2 What Should You Store?
    3. 1.3 Working Trees
    4. 1.4 Manipulating Files and Staying in Sync
    5. 1.5 Tracking Projects, Directories, and Files
    6. 1.6 Tracking Milestones with Tags
    7. 1.7 Creating Alternate Histories with Branches
    8. 1.8 Merging
    9. 1.9 Locking Options
    10. 1.10 Next Steps
  8. Chapter 2: Setting Up Git
    1. 2.1 Installing Git
    2. 2.2 Configuring Git
    3. 2.3 Using Git’s GUI
    4. 2.4 Accessing Git’s Built-in Help
  9. Chapter 3: Creating Your First Project
    1. 3.1 Creating a Repository
    2. 3.2 Making Changes
    3. 3.3 Starting to Work with a Project
    4. 3.4 Using and Understanding Branches
    5. 3.5 Handling Releases
    6. 3.6 Cloning a Remote Repository
  10. Part 2: Everyday Git
  11. Chapter 4: Adding and Committing: Git Basics
    1. 4.1 Adding Files
    2. 4.2 Committing Changes
    3. 4.3 Seeing What Has Changed
    4. 4.4 Managing Files
  12. Chapter 5: Understanding and Using Branches
    1. 5.1 What Are Branches?
    2. 5.2 Creating a New Branch
    3. 5.3 Merging Changes Between Branches
    4. 5.4 Handling Conflicts
    5. 5.5 Deleting Branches
    6. 5.6 Renaming Branches
  13. Chapter 6: Working with Git’s History
    1. 6.1 Inspecting Git’s Log
    2. 6.2 Specifying Revision Ranges
    3. 6.3 Looking at Differences Between Versions
    4. 6.4 Finding Out Who’s to Blame
    5. 6.5 Following Content
    6. 6.6 Undoing Changes
    7. 6.7 Rewriting History
  14. Chapter 7: Working with Remote Repositories
    1. 7.1 Network Protocols
    2. 7.2 Cloning a Remote Repository
    3. 7.3 Keeping Up-to-Date
    4. 7.4 Pushing Changes
    5. 7.5 Adding New Remote Repositories
  15. Chapter 8: Organizing Your Repository
    1. 8.1 Marking Milestones with Tags
    2. 8.2 Handling Release Branches
    3. 8.3 Using Valid Names for Tags and Branches
    4. 8.4 Tracking Multiple Projects
    5. 8.5 Using Git Submodules to Track External Repositories
  16. Chapter 9: Beyond the Basics
    1. 9.1 Compacting Repository History
    2. 9.2 Exporting Your Repository
    3. 9.3 Rebasing a Branch
    4. 9.4 Using the Reflog
    5. 9.5 Bisecting Your Repository
  17. Part 3: Administration
  18. Chapter 10: Migrating to Git
    1. 10.1 Communicating with SVN
    2. 10.2 Making Sure git-svn Is Available
    3. 10.3 Importing a Subversion Repository
    4. 10.4 Keeping Up-to-Date with a Subversion Repository
    5. 10.5 Pushing Changes to SVN
    6. 10.6 Importing from CVS
  19. Chapter 11: Running a Git Server with Gitosis
    1. 11.1 Making Sure Dependencies Are Met
    2. 11.2 Installing Gitosis
    3. 11.3 Creating Administrator Credentials
    4. 11.4 Configuring the Server for Gitosis
    5. 11.5 Initializing Gitosis
    6. 11.6 Configuring Gitosis
    7. 11.7 Adding New Repositories
    8. 11.8 Setting Up a Public Repository
    9. 11.9 Closing Thoughts
  20. Part 4: Appendixes
  21. Appendix 1: Git Command Quick Reference
    1. A1.1 Setup and Initialization
    2. A1.2 Normal Usage
    3. A1.3 Branches
    4. A1.4 History
    5. A1.5 Remote Repositories
    6. A1.6 Git to SVN Bridge
  22. Appendix 2: Other Resources and Tools
    1. A2.1 Extras Bundled with Git
    2. A2.2 Third-Party Tools
    3. A2.3 Git Repository Hosting
    4. A2.4 Online Resources
  23. Appendix 3: Bibliography
    1. You May Be Interested In…

Product information

  • Title: Pragmatic Version Control Using Git
  • Author(s): Travis Swicegood
  • Release date: December 2008
  • Publisher(s): Pragmatic Bookshelf
  • ISBN: 9781680504262