A free, self-paced textbook in 7 chapters. Read a chapter, then drill it with the 51 companion flashcards using spaced repetition.
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...
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...
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...
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...
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...
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...
Git offers a variety of tools for personalizing workflows and keeping repositories tidy. Git aliases, configured via git config --global alias.<shortcut> <command>, all...