Skip to content

Git Version Control Textbook

A free, self-paced textbook in 7 chapters. Read a chapter, then drill it with the 51 companion flashcards using spaced repetition.

7 chapters · 51 cards · Updated

Chapters

  1. 1Introduction to Git and Its Core Concepts

    Git is a distributed version control system designed to track changes in source code throughout the software development lifecycle. Unlike older centralized systems, every develope...

  2. 2Essential Daily Commands

    Starting a new project or joining an existing one both rely on a small set of foundational Git commands. The command git init initializes a brand-new repository in the current dire...

  3. 3Branching, Merging, and History Shaping

    Branches are Git's mechanism for parallel development, allowing multiple lines of work to coexist without interfering. The command git branch <branch-name> creates a new bran...

  4. 4Collaborating with Remote Repositories

    A remote repository is a version of a Git project hosted on a server such as GitHub, GitLab, or Bitbucket, enabling developers to share work across teams. Before interacting with o...

  5. 5Undoing, Reverting, and Recovering

    Mistakes are inevitable in software development, and Git provides several commands to correct them safely. The most powerful and dangerous is git reset <commit>, which moves...

  6. 6Tags, Submodules, and Productivity Tools

    Tags are Git's mechanism for marking specific commits as significant, typically for software releases. An annotated tag, created with git tag -a <name> <commit>, stores...

  7. 7Customizing and Maintaining Your Repository

    Git offers a variety of tools for personalizing workflows and keeping repositories tidy. Git aliases, configured via git config --global alias.<shortcut> <command>, all...

← Back to the Git Version Control deck