Git Glossary

From commit to clone to pull request, your passport to the collaborative world of Git workflows.

Pull/Pull Request

Alternative terms for the same concept of proposing and reviewing changes in Git-based collaboration.

Push

A Git command used to upload local repository changes to a remote repository, sharing updates with collaborators.

README

A file in a Git repository that provides information about the project, its purpose, and how to use or contribute to it.

Rebase

A Git operation that moves or combines a sequence of commits to a new base commit, often used to maintain a linear history.

Rebase Interactive

A Git rebase mode allowing users to modify, reorder, or squash commits before applying them to the target branch.

RefLog

A Git mechanism that records updates to branch tips and other references in a repository.

Refspec

A string that specifies the mapping between remote and local references when fetching or pushing in Git.

Release branching

A strategy where a separate branch is created for release preparation, allowing continued development on the main branch.

Remote

A Git repository hosted on a server, allowing collaboration and synchronization between multiple developers.

Repository

Centralized location where software packages or modules are stored and managed, facilitating version control and collaboration.

Repository ("Repo")

A data structure containing all the files, history, and metadata for a Git-managed project.

SCM

Source Control Management, a system for tracking and managing changes to code, of which Git is an example.

SHA-1

The cryptographic hash function used by Git to generate unique identifiers for objects in the repository.

SSH key

A secure authentication method using a pair of cryptographic keys for accessing remote systems or services.

Shallow Clone

A Git clone that only fetches a limited number of recent commits, reducing download size for large repositories.

Squash

The process of combining multiple commits into a single commit in Git, often used to simplify history.

Staging

The process of preparing changes to be committed in Git, also known as "adding to the index."

Stash

A Git feature for temporarily storing uncommitted changes, allowing you to switch branches without committing work in progress.

Stashing

A Git feature for temporarily saving uncommitted changes, allowing you to switch contexts without committing incomplete work.

Status

A Git command that shows the state of the working directory and staging area, indicating which files are modified or staged.

SubModule

A Git repository nested within another repository, allowing you to include external projects in your own project.

Tag

A named reference to a specific point in Git history, typically used to mark release points or important milestones.

Team plan

A subscription level for GitHub designed for collaborative groups or small organizations.

Upstream

The original repository from which a fork is created, or the branch that a local branch is tracking.

Upstream and Downstream

Terms describing the flow of changes in Git, with upstream being the source and downstream the destination.

Work in Progress (WIP) Commit

A temporary commit indicating unfinished work, often used to save progress or facilitate code reviews.

access token

A secure alternative to passwords, used for authentication in Git operations, providing limited access to specific resources or actions.

alternate object database

A secondary location where Git stores object files, useful for optimizing storage and performance in large repositories.

appliance

A dedicated hardware or virtual machine optimized for running Git services, often used in enterprise environments for improved performance.

assignee

The person responsible for addressing an issue or pull request in a Git repository, helping to organize and prioritize tasks.

authentication code

A temporary code used in two-factor authentication to verify a user's identity when accessing Git repositories or services.

base branch

The primary branch in a Git repository from which feature branches are created and into which they are merged after development.

basic authentication

A simple authentication method in Git using a username and password, often discouraged in favor of more secure methods.

billing cycle

The recurring period for which Git hosting services charge users or organizations for their subscriptions and usage.

billing email

The email address associated with a Git account or organization for receiving invoices and billing-related communications.

billing manager

A user role in Git hosting platforms responsible for managing billing information, subscriptions, and payments for an organization.

billing plan

A subscription package offered by Git hosting services, defining features, storage limits, and pricing for users or organizations.

bio

A brief description of a user's profile on Git platforms, typically including their role, interests, or expertise in software development.

blob object

A Git object type representing the contents of a file, stored as a sequence of bytes without any metadata or file attributes.

block

An action on Git platforms to restrict a user's ability to interact with a repository, often used to manage disruptive behavior.

branch restriction

A set of rules applied to Git branches to control who can push changes, merge, or perform certain actions, enhancing code quality.

cURL

A command-line tool often used with Git to transfer data and interact with APIs, supporting various protocols including HTTPS.

card

A visual representation of an issue or pull request in Git project management tools, used for organizing and prioritizing work.

chain

A series of connected commits in Git, representing a sequence of changes that build upon each other in a repository's history.

changeset

A group of changes made to files in a Git repository, typically represented by a commit and including additions, modifications, and deletions.

check

An automated test or verification process run on Git repositories to ensure code quality, security, or compliance with project standards.

child team

A nested team within a Git organization's hierarchy, inheriting permissions and access rights from its parent team.

clean

A Git command used to remove untracked files and directories from a working directory, helping to maintain a tidy repository.

clustering

A technique used in Git hosting services to distribute repository data across multiple servers for improved performance and reliability.

code frequency graph

A visual representation of code additions and deletions over time in a Git repository, useful for tracking project activity.