Staging Area
intermediateDefinition
A holding spot where you gather the exact changes you want in your next commit, so you can save some edits now and leave others for later.
In the wild
You edited three files but only two are ready, so you stage those two (`git add menu.html prices.html`) and commit them, leaving the third unstaged.
More from Git & Collaboration
Branch
A separate line of work inside a repository where you can make changes without affecting the main version until you merge them back.
Changelog
A file that lists what changed in each version of a project, in plain words, newest first, so people can see what's new or fixed without reading the code.
Cherry-pick
Copying one specific commit from another branch onto yours, without bringing along anything else from that branch.
Clone vs Fork
Cloning downloads a copy of a repository to your own computer; forking makes your own copy of someone else's repository on GitHub, which you can change and later offer back to them.
Commit
A saved snapshot of a project's files at one moment, with a short note describing what changed.
Diff
A side-by-side view of exactly what changed between two versions of a file, with removed lines marked by a minus sign and added lines by a plus sign.