Glossary
This glossary provides definitions for common Git terms and concepts to help understand the terminology used in Git and version control.
Similar to the Commands Cheat Sheet, this glossary is a living document that evolves with regular updates.
bitbucket
Bitbucket is a web-based platform for hosting and collaborating on Git repositories. It offers features like pull requests, issue tracking, and code reviews, similar to GitHub and GitLab.
branch
A branch is a separate line of development in a Git repository. It allows developers to work on new features or bug fixes without affecting the main codebase. The default branch is usually called main or master.
clone
Cloning is the process of creating a local copy of a remote repository. This allows developers to work on the project locally and push their changes back to the remote repository when ready.
commit
A commit is a snapshot of the changes made to the files in the repository. Each commit has a unique identifier (hash) and includes information about the author, date, and a message describing the changes.
conflict
A conflict occurs when changes made in one branch cannot be automatically merged with changes in another branch. Conflicts need to be resolved manually by the developer.
fetch
Fetching is the process of downloading changes from a remote repository without merging them into the local copy. This allows developers to see what changes are available before deciding to pull them.
git
The name of the version control system itself, the command-line tool used to interact with repositories, and the underlying technology that powers version control.
github
GitHub is the most popular web-based platform for hosting and collaborating on Git repositories. It provides features like pull requests, issue tracking, and code reviews to facilitate collaboration among developers. Check Bitbucket and GitLab for similar platforms.
gitlab
Similar to Bitbucket and GitHub, GitLab is a web-based platform for hosting and collaborating on Git repositories. It offers additional features like built-in CI/CD pipelines and project management tools.
merge
Merging is the process of combining changes from one branch into another. This is typically done when a feature or bug fix is complete and ready to be integrated into the main codebase.
pull
Pulling is the process of fetching changes from a remote repository and merging them into the local copy. This is typically done to keep the local repository up-to-date with the latest changes from other developers.
push
Pushing is the process of sending local commits to a remote repository. This is how developers share their changes with others.
remote
A remote is a reference to a remote repository, typically hosted on a platform like GitHub. It allows developers to interact with the remote repository, such as fetching, pulling, and pushing changes.
repo
Short for repository. Check repository for the full definition.
repository
A repository is a storage location for a project, a folder or directory that
contains a special .git
directory, which stores all the version control
metadata, history, and tracking information for the project. It can be local (on
machine) or remote (hosted on a platform like GitHub).