Git & GitHub Glossary
There are several technical terms for Git and GitHub. This provides a glossary of the Git and GitHub key terminologies.
B
Branch: an independent line of development with a commit history. Different branches give a different registration space; each branch has its own coding history (a line of commits).
C
Clone: an action that brings a project directory from a Remote Repository with commit histories to the local computer.
Commit: a snapshot that records the status of coding in repositories.
Commit hash: a unique ID of each commit. When you want to retrieve a commit, you need this hash.
Conflict: a situation when two developers edit the same lines of code in the same file.
F
Fast-forward merge: a merge action that doesn't create a new commit. It simply advances the HEAD of the current branch by incorporating another branch.
Fetch: an action that updates the remote-tracking branch status. It brings the latest Remote Repository status onto the local computer.
Fork: a feature provided by GitHub and used to create a replica of a Remote Repository on GitHub.
G
.gitignore file: a text file that tells the Git system which files or directories to ignore when tracking files and directories.
H
HEAD: a pointer to the last commit in the current checkout branch.
HTTPS: Hypertext Transfer Protocol Secure. It is an extension of HTTP used to build a more secure network.
I
INDEX: Staging Area. A buffer area used to prepare working files for commit.
L
Local Repository: a local computer repository where committed files are stored with version histories
M
Master Branch: a branch used as a master of a project's coding activity. The master branch is the default branch until you create a new branch for your project.
Merge: an action for integrating branches.
N
Non-Fast-forward merge: a merge action that creates a new commit. The merge action is recorded as one commit.
O
Origin: a standard Remote Repository name. When you clone a Remote Repository, the default Remote Repository name is origin.
P
PAT: Personal Access Token generated on the GitHub website. It is used as a password to access Remote Repositories.
Pull Request: a request to review changes on a topic branch and merge it with a main branch (e.g., the master branch).
Pull: an action that downloads the latest Remote Repository information and merges with one of the existing branches in the Local Repository.
Push: an action that uploads a branch in the Local Repository to the Remote Repository.
R
Rebase: an action that changes the divergence point to the latest commit of the base branch.
Remote Repository: a repository where committed files are stored on the web and can be shared with others.
Remote-tracking branch: a branch that tracks a Remote Repository from the Local Repository (e.g., origin/master, origin/Branch_A).
S
SSH: Secure Shell Protocol. It is typically used for remote access to servers or computers.
Staging Area: a buffer area used to prepare working files for commit. It is also called INDEX.
T
Topic Branch: a branch used to work on coding separate from the main lines of coding activities. It is used to add a new feature or fix bugs. It is also called a feature branch.
U
Upstream branch: the Remote Repository tracked by the remote-tracking branch.
W
Working Tree: working directories and files that you can edit.