Git & GitHub Glossary

Git and GitHub Glossary of Terms

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.