Repository vs commit vs branch vs staged change

Verdict: A repository is the whole project plus its revision history. A commit is one snapshot. A branch is a line of development. A staged change is waiting for the next commit.

CriterionRepositoryCommitBranchStaged change
DefinitionThe entire collection of a project's files and folders plus each file's revision historyA single snapshot in the project's historyOne of multiple lines of development commits are organised intoA change added with git add, waiting for the next commit
ScopeWhole project and historyOne point in timeA strand of developmentNot yet committed

Rules

Traps