Product → Developer Tools
Git
A distributed version-control system widely used to manage source code history and collaboration.
Motivation
Git tracks source-code history. It solves the problem of collaborating on code while preserving who changed what and when.
Mental model
Git is a distributed timeline of snapshots, branches, and merges. Every developer has a local copy of the repository history, and collaboration happens by exchanging commits.
Where it fits
Git belongs to the Product track, inside Developer Tools. It connects version control, source code, CI/CD, and collaborative software delivery.
Subconcepts
Commit
A commit is a saved snapshot of changes with metadata such as author, timestamp, and message.
Branch
A branch is a movable line of development that lets teams work on changes without modifying the main line immediately.
Merge
A merge combines changes from one branch into another.
Pull Request
A pull request is a review workflow for proposing, discussing, and approving changes before they are merged.
Rebase
A rebase rewrites a branch so that its commits appear on top of another base commit.
Remote
A remote is a reference to a repository hosted somewhere else, such as a shared Git server.
Push
Push sends local commits to a remote repository.
Pull
Pull fetches remote changes and integrates them into the current local branch.
Clone
Clone creates a local copy of a remote repository.
Common mistakes
- Using huge commits with unrelated changes.
- Treating branches as permanent silos.
- Not understanding the difference between commit, push, merge, pull, and rebase.
- Rebasing shared history without understanding the consequences.
Related concepts
Use the metadata panel or return to the graph to explore Version Control, GitHub Actions, and CI/CD Pipeline.