Module 1: Getting Started
- About Version Control
- A Short History of Git
- What is Git?
- The Command Line
- Installing Git
- First-Time Git Setup
- Getting Help
- Summary
Module 2: Git Basics
- Getting a Git Repository
- Recording Changes to the Repository
- Viewing the Commit History
- Undoing Things
- Working with Remotes
- Tagging
- Git Aliases
- Summary
Module 3: Git Branching
- Branches in a Nutshell
- Basic Branching and Merging
- Branch Management
- Branching Workflows
- Remote Branches
- Rebasing
- Summary
Module 4: Git on the Server
- The Protocols
- Getting Git on a Server
- Generating Your SSH Public Key
- Setting Up the Server
- Git Daemon
- Smart HTTP
- GitWeb
- GitLab
- Third Party Hosted Options
- Summary
Module 5: Distributed Git
- Distributed Workflows
- Contributing to a Project
- Maintaining a Project
- Summary
Module 6: GitHub
- Account Setup and Configuration
- Contributing to a Project
- Maintaining a Project
- Managing an organization
- Scripting GitHub
- Summary
Module 7: Git Tools
- Revision Selection
- Interactive Staging
- Stashing and Cleaning
- Signing Your Work
- Searching
- Rewriting History
- Reset Demystified
- Advanced Merging
- Rerere
- Debugging with Git
- Submodules
- Bundling
- Replace
- Credential Storage
- Summary
Module 8: Customizing Git
- Git Configuration
- Git Attributes
- Git Hooks
- An Example Git-Enforced Policy
- Summary
Module 9: Git and Other Systems
- Git as a Client
- Migrating to Git
- Summary
Module 10: Git Internals
- Plumbing and Porcelain
- Git Objects
- Git References
- Packfiles
- The Refspec
- Transfer Protocols
- Maintenance and Data Recovery
- Environment Variables
- Summary