Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. Background

    2. The Birth of Git

    3. Precedents

    4. Time Line

    5. What’s in a Name?

  2. Chapter 2 Installing Git

    1. Using Linux Binary Distributions

    2. Obtaining a Source Release

    3. Building and Installing

    4. Installing Git on Windows

  3. Chapter 3 Getting Started

    1. The Git Command Line

    2. Quick Introduction to Using Git

    3. Configuration Files

    4. Inquiry

  4. Chapter 4 Basic Git Concepts

    1. Basic Concepts

    2. Object Store Pictures

    3. Git Concepts at Work

  5. Chapter 5 File Management and the Index

    1. It’s All About the Index

    2. File Classifications in Git

    3. Using git add

    4. Some Notes on Using git commit

    5. Using git rm

    6. Using git mv

    7. A Note on Tracking Renames

    8. The .gitignore File

    9. A Detailed View of Git’s Object Model and Files

  6. Chapter 6 Commits

    1. Atomic Changesets

    2. Identifying Commits

    3. Commit History

    4. Finding Commits

  7. Chapter 7 Branches

    1. Reasons for Using Branches

    2. Branch Names

    3. Using Branches

    4. Creating Branches

    5. Listing Branch Names

    6. Viewing Branches

    7. Checking Out Branches

    8. Deleting Branches

  8. Chapter 8 Diffs

    1. Forms of the git diff Command

    2. Simple git diff Example

    3. git diff and Commit Ranges

    4. git diff with Path Limiting

    5. Comparing How Subversion and Git Derive diffs

  9. Chapter 9 Merges

    1. Merge Examples

    2. Working with Merge Conflicts

    3. Merge Strategies

    4. How Git Thinks About Merges

  10. Chapter 10 Altering Commits

    1. Caution About Altering History

    2. Using git reset

    3. Using git cherry-pick

    4. Using git revert

    5. reset, revert, and checkout

    6. Changing the Top Commit

    7. Rebasing Commits

  11. Chapter 11 Remote Repositories

    1. Repository Concepts

    2. Referencing Other Repositories

    3. Example Using Remote Repositories

    4. Remote Repository Operations in Pictures

    5. Adding and Deleting Remote Branches

    6. Remote Configuration

    7. Bare Repositories and git push

    8. Publishing Repositories

  12. Chapter 12 Repository Management

    1. Repository Structure

    2. Living with Distributed Development

    3. Knowing Your Place

    4. Working with Multiple Repositories

  13. Chapter 13 Patches

    1. Why Use Patches?

    2. Generating Patches

    3. Mailing Patches

    4. Applying Patches

    5. Bad Patches

    6. Patching Versus Merging

  14. Chapter 14 Hooks

    1. Installing Hooks

    2. Available Hooks

  15. Chapter 15 Combining Projects

    1. The Old Solution: Partial Checkouts

    2. The Obvious Solution: Import the Code into Your Project

    3. The Automated Solution: Checking Out Subprojects Using Custom Scripts

    4. The Native Solution: gitlinks and git submodule

  16. Chapter 16 Using Git with Subversion Repositories

    1. Example: A Shallow Clone of a Single Branch

    2. Pushing, Pulling, Branching, and Merging with git svn

    3. Miscellaneous Notes on Working with Subversion

  1. Colophon