Git

Git Basics #4: Remotes — clone, fetch, pull, push, and What origin Really Is
7 min read

Git Basics #4: Remotes — clone, fetch, pull, push, and What origin Really Is

We organize the flow of cloning a repository and exchanging work with a remote through fetch, pull, and push. Along the way we pin down what origin and origin/main actually are.

Git Basics #3: Branching and Merging — Fast-forward and 3-way
7 min read

Git Basics #3: Branching and Merging — Fast-forward and 3-way

From the fact that a branch is a lightweight pointer to a commit, through the difference between fast-forward and 3-way merges, to reading conflict markers and resolving them.

Git Basics #2: add, commit, status — What the Staging Area Means
8 min read

Git Basics #2: add, commit, status — What the Staging Area Means

Read the untracked, modified, and staged states from real git status output, and record your first snapshot with add and commit. Why the staging area exists, the two kinds of diff, and what .gitignore keeps out of history.

Git Basics #1: What Git Is — the Snapshot Model and the Three Areas
7 min read

Git Basics #1: What Git Is — the Snapshot Model and the Three Areas

From why version control exists to the snapshot model, the .git directory that git init creates, and the three areas — working directory, staging area, and repository. The mental picture to build first when learning Git.