Lesson 118

Version Control & Git

Snapshots, the commit DAG & branching

1:00

How Git records every change as a hashed snapshot in a commit DAG, how branches and HEAD work as movable pointers, and how teams collaborate through staging, merging, rebasing, and pull requests.

By the end, you can

  • Explain what problem version control solves and name three failure modes of working without it.
  • Distinguish a centralized VCS from a distributed one, and explain what "distributed" enables offline.
  • State what a Git commit actually stores (a full snapshot, not a diff) and how it is named.
  • Name Git's four object types and describe what each stores.
  • Trace how the branch pointer and HEAD move when you make a new commit.
  • Walk a change through the three Git areas using the correct commands at each step.
  • Explain the purpose of the staging area and why it exists.
  • Describe what a merge commit is and when a merge conflict occurs, and outline the steps to resolve one.
  • Contrast merge and rebase, including the "golden rule" of rebasing.
  • Identify what git pull does under the hood.
  • Explain the role of a pull request in a collaborative workflow.
  • State what belongs in a .gitignore and the difference between annotated and lightweight tags.
  • Recite the everyday Git command loop in order: clone, add, commit, push/pull.
Up next in Software Engineering & Web
Questions or feedback?