Show in graph
DEV

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.

Use the metadata panel or return to the graph to explore Version Control, GitHub Actions, and CI/CD Pipeline.