Branching and merging
Lessons in this group, roughly in build order:
- what-is-a-branch — A branch is a movable pointer to a commit — a 41-byte file under .git/refs/heads/, not a copy of your files
- creating-and-switching-branches-git-branch-git-switch-git-checkout — How to make, list, rename, and move between branches — and why git switch exists to split the overloaded…
- merging-branches-git-merge — git merge integrates the history of another branch into your current branch, usually by creating a merge…
- fast-forward-vs-three-way-merge — The two outcomes of git merge: sliding a pointer forward (fast-forward) versus synthesizing a new commit…
- resolving-merge-conflicts — A conflict happens when a three-way merge can’t auto-combine overlapping edits to the same region, leaving…
- deleting-branches — Removing a branch deletes only the pointer; the commits persist until garbage collection, and the…
- branching-strategies-git-flow-github-flow-trunk-based — A branching strategy is the team convention for which long-lived branches exist and how work flows into a…