Contents
Centralized Version Control Systems
Distributed Version Control Systems
Nearly Every Operation Is Local
Initializing a Repository in an Existing Directory
Cloning an Existing Repository
Recording Changes to the Repository
Checking the Status of Your Files
Viewing Your Staged and Unstaged Changes
Fetching and Pulling from Your Remotes
Putting the Bare Repository on a Server
Generating Your SSH Public Key
Dictator and Lieutenants Workflow
Determining What Is Introduced
Rebasing and Cherry Picking Workflows
Account Setup and Configuration
Creating a Branch from a Stash
Cleaning Your Working Directory
Changing Multiple Commit Messages
The Nuclear Option: filter-branch
Cloning a Project with Submodules
Working on a Project with Submodules
An Example Git-Enforced Policy
Enforcing a Specific Commit-Message Format
Enforcing a User-Based ACL System
Chapter 9: Git and Other Systems
Appendix A: Git in Other Environments