O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

Table of Contents

  1. Pragmatic Version Control
    1. Copyright
    2. For the Best Reading Experience...
    3. Table of Contents
    4. What readers are saying about Pragmatic Version Control Using Git
    5. Acknowledgments
    6. Preface
      1. Who’s This Book For?
      2. What’s in This Book?
      3. Typographic Conventions
      4. Online Resources
    7. Part 1: Welcome to the Distributed World
      1. Chapter 1: Version Control the Git Way
        1. The Repository
        2. What Should You Store?
        3. Working Trees
        4. Manipulating Files and Staying in Sync
        5. Tracking Projects, Directories, and Files
        6. Tracking Milestones with Tags
        7. Creating Alternate Histories with Branches
        8. Merging
        9. Locking Options
        10. Next Steps
      2. Chapter 2: Setting Up Git
        1. Installing Git
        2. Configuring Git
        3. Using Git’s GUI
        4. Accessing Git’s Built-in Help
      3. Chapter 3: Creating Your First Project
        1. Creating a Repository
        2. Making Changes
        3. Starting to Work with a Project
        4. Using and Understanding Branches
        5. Handling Releases
        6. Cloning a Remote Repository
    8. Part 2: Everyday Git
      1. Chapter 4: Adding and Committing: Git Basics
        1. Adding Files
        2. Committing Changes
        3. Seeing What Has Changed
        4. Managing Files
      2. Chapter 5: Understanding and Using Branches
        1. What Are Branches?
        2. Creating a New Branch
        3. Merging Changes Between Branches
        4. Handling Conflicts
        5. Deleting Branches
        6. Renaming Branches
      3. Chapter 6: Working with Git’s History
        1. Inspecting Git’s Log
        2. Specifying Revision Ranges
        3. Looking at Differences Between Versions
        4. Finding Out Who’s to Blame
        5. Following Content
        6. Undoing Changes
        7. Rewriting History
      4. Chapter 7: Working with Remote Repositories
        1. Network Protocols
        2. Cloning a Remote Repository
        3. Keeping Up-to-Date
        4. Pushing Changes
        5. Adding New Remote Repositories
      5. Chapter 8: Organizing Your Repository
        1. Marking Milestones with Tags
        2. Handling Release Branches
        3. Using Valid Names for Tags and Branches
        4. Tracking Multiple Projects
        5. Using Git Submodules to Track External Repositories
      6. Chapter 9: Beyond the Basics
        1. Compacting Repository History
        2. Exporting Your Repository
        3. Rebasing a Branch
        4. Using the Reflog
        5. Bisecting Your Repository
    9. Part 3: Administration
      1. Chapter 10: Migrating to Git
        1. Communicating with SVN
        2. Making Sure git-svn Is Available
        3. Importing a Subversion Repository
        4. Keeping Up-to-Date with a Subversion Repository
        5. Pushing Changes to SVN
        6. Importing from CVS
      2. Chapter 11: Running a Git Server with Gitosis
        1. Making Sure Dependencies Are Met
        2. Installing Gitosis
        3. Creating Administrator Credentials
        4. Configuring the Server for Gitosis
        5. Initializing Gitosis
        6. Configuring Gitosis
        7. Adding New Repositories
        8. Setting Up a Public Repository
        9. Closing Thoughts
    10. Part 4: Appendixes
      1. Appendix 1: Git Command Quick Reference
        1. Setup and Initialization
        2. Normal Usage
        3. Branches
        4. History
        5. Remote Repositories
        6. Git to SVN Bridge
      2. Appendix 2: Other Resources and Tools
        1. Extras Bundled with Git
        2. Third-Party Tools
        3. Git Repository Hosting
        4. Online Resources
      3. Appendix 3: Bibliography
    11. You May Be Interested In…