This page aims to explain key Git terms to complete beginners. Specific details on how to use and what they do will be explained elsewhere.

Repository

A project folder which is being tracked and managed by Git. They can be identified by the hidden .git directory in the root project folder.

Commit

A commit is like a checkpoint for your project. After you have made some changes, you can "save" the current state by committing the changes to the repository.

Stage

Staging a file is preparing a file to be committed. Often, you will not want to save all the files that are changed into the next commit. Take note that staging is a MUST before you commit, not an option.

Branch

Just like branches on a tree, a branch on git is a divergence in the code base of the repository. You can commit (i.e. make and save changes) on one branch without affecting another branch.

Merge

Exactly as it sounds, merging is when you combine commits from two separate branches into a single one.

Push and Pull

Very confusing terms for beginners. The verbs Push and Pull are referring to commits. When you push to somewhere, you are basically pushing your commits to that place. Similarly, when you pull, you are taking in commits.

Pull Request

If someone send you a pull request, it means that they want you to pull their commits, aka take in their changes. Do not misinterpret it as the other way around.

Clone

A clone is a copy of the repository. When you clone a repository on GitHub, you save a copy of that repository on your local machine.

Origin

Refers to the remote repository (repo on GitHub) that a project was cloned from.