-
Repository: Storage area for commits
- Local: Repo located on your computer
- Remote: Repo located on a server
- Upstream Default repo for fetch and push
-
Working area: Active copy of source tree
- Clean/Dirty: agrees/does not agree with last checkout
-
Commit: Saved snapshot of source tree
- Commit ID: Hexadecimal hash code that uniquely identifies a commit
- Commit message: informative text used to describe a commit
-
Checkout: Update working area from commit
-
Branch: Movable label placed on commit (tracks changes)
- Local: Branch label managed by you
- Remote-tracking: Label that follows branch in remote repo
- Head: Commit on which the branch label is placed
-
Tag: Fixed label placed on commit (Does not move)
-
Push: Update a branch on a remote repo
- Fetch: Download commits from a remote repo
-
Merge: Integrate a commit into the current branch
- Fast-forward: Merge performed simply by moving branch label
-
Index: A list of changed files that have been staged(marked) for commit
- "git add": Mark a file a staged for commit
-
Reset: Unstage files from the index
- Hard reset: Modifies the index and resets files in the working area