---
# System prepended metadata

title: Git Terminology Table

---

# Git Terminology Table


[![](https://mermaid.ink/img/pako:eNpVz70OwjAMBOBXsTwVCcTeAQnoyNQOLF6sxLQRzY9SZ0CIdyeAOjD5hk-n8xNNtIItjpnTBJeewrG5xnx3YYTOZTEa82MDux2MToGtrfEAp2ZQHj_mmIU3FE6rMNH7ej7o3Fyi4Rl6SXFx3x4K5xXeRM20T2Wev7hrevFR5V93q05lmX6lFHCLXrJnZ-vuJwUAQp3EC2Fbo-V8J6Twqo6LxuERDLaai2yxJMsqneP6rsf2xvMirzediFSy?type=png)](https://mermaid.live/edit#pako:eNpVz70OwjAMBOBXsTwVCcTeAQnoyNQOLF6sxLQRzY9SZ0CIdyeAOjD5hk-n8xNNtIItjpnTBJeewrG5xnx3YYTOZTEa82MDux2MToGtrfEAp2ZQHj_mmIU3FE6rMNH7ej7o3Fyi4Rl6SXFx3x4K5xXeRM20T2Wev7hrevFR5V93q05lmX6lFHCLXrJnZ-vuJwUAQp3EC2Fbo-V8J6Twqo6LxuERDLaai2yxJMsqneP6rsf2xvMirzediFSy)


| Term         |                                                                                                                  Description                                                                                                                  |
| ------------ |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Repository   |    A Git repository (or repo) is a storage location where your project files and the complete version history of those files are stored. It consists of a hidden `.git` folder that contains configuration files and the version history.     |
| Commit       |                     A commit is a snapshot of the changes made to your project. It saves the current state of your project files and includes metadata like the author, timestamp, and a unique identifier called a hash.                     |
| Stash        |                      Stashes are temporary storage areas for changes that you don't want to commit yet. You can use them to save your work-in-progress changes and switch branches without losing your current changes.                       |
| Branch       |            A branch is a parallel line of development in a Git repository. It allows you to work on different features or bug fixes without affecting the main codebase. The default branch is usually called "main" or "master".             |
| Checkout     |                              Checking out in Git means switching your working directory to a specific commit, branch, or tag. It allows you to navigate through the version history or switch between branches.                               |
| Merge        |                 Merging is the process of combining changes from one branch into another. Git will try to automatically resolve conflicts between branches, but sometimes manual intervention is needed to resolve conflicts.                 |
| Rebase       |                      Rebasing is an alternative to merging that allows you to apply a series of commits from one branch onto another. It creates a linear history by replaying the changes on top of the target branch.                       |
| Clone        |                                Cloning is the process of creating a local copy of a remote Git repository. It downloads the complete version history, branches, and configuration files to your local machine.                                |
| Fetch        |                                    Fetching in Git refers to downloading updates from a remote repository. It downloads new commits, branches, and tags without merging or modifying your local branches.                                     |
| Pull         |                                 A pull operation is a combination of fetch and merge. It downloads updates from a remote repository and merges them into your local branch, updating your working directory.                                  |
| Push         |                               Pushing is the process of uploading your local commits to a remote repository. It updates the remote branch with your new commits, allowing others to access the latest changes.                                |
| Remote       |                      A remote is a reference to another copy of the Git repository, usually on a remote server. Remotes are used for collaboration and allow you to fetch, pull, and push changes between repositories.                       |
| Fork         | A fork is a copy of a repository that belongs to another user or organization. Forking allows you to make changes to a project without affecting the original repository, and you can later submit a pull request to contribute your changes. |
| Pull Request |                     A pull request (PR) is a request to merge your changes from a fork or branch into the target branch of another repository. It allows for code review and collaboration before the changes are merged.                     |
