Git Glossary

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

Git Pull --Rebase

A variation of Git pull that fetches remote changes and rebases local commits on top of them instead of merging.

Git Push --Force-with-Lease

A safer alternative to force push, which only updates the branch if it hasn't been modified since your last fetch.

Git Range-diff

A command that compares the changes between two commit ranges, useful for reviewing rebased branches.

Git Read-tree

A low-level command that reads tree objects into the index, used in complex merging scenarios.

Git Reflog

A log of all reference updates in a repository, useful for recovering lost commits or branches.

Git Reflogs

Same as Git Reflog, logs that record when the tips of branches and other references were updated in the repository.

Git Refs Storage

The system Git uses to store references (like branches and tags) as files in the .git directory.

Git Refspec

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

Git Remote Add

Adds a new remote repository to your local Git configuration, associating a name with a URL.

Git Remote Prune

A command that removes remote-tracking branches that no longer exist on the remote repository.

Git Remote Remove

Removes a remote repository from your local Git configuration, deleting its associated references.

Git Replace

A feature allowing one Git object to be transparently used in place of another, useful for history rewriting.

Git Rerere (Reuse Recorded Resolution)

A feature that remembers how you resolved merge conflicts and automatically reapplies the resolution.

Git Reset

A command used to undo changes by moving the current branch head to a specific commit.

Git Reset --Hard

A Git reset option that updates the working directory and staging area to match the specified commit.

Git Reset --Soft

A Git reset option that moves the HEAD to a specified commit without changing the working directory or staging area.

Git Rev-list

A command that lists commit objects in reverse chronological order, often used as a basis for other commands.

Git Rev-parse

A command used to parse Git revision syntax and return the corresponding object name.

Git Revert

A command that creates a new commit that undoes the changes made by a previous commit.

Git Rm

A command to remove files from both the working directory and the Git repository.

Git Shallow Clone

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

Git Shortlog

A command that summarizes git log output, typically used to create release announcements.

Git Signed Commits

Commits that are cryptographically signed to verify the identity of the committer and ensure integrity.

Git Signed Tags

Tags that are cryptographically signed to verify the identity of the tagger and ensure the tag's integrity.

Git Squash

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

Git Stash Apply

A command that applies a stored stash to the working directory without removing it from the stash list.

Git Stash Pop

A command that applies a stored stash to the working directory and removes it from the stash list.

Git Status

A command that displays the state of the working directory and the staging area.

Git Submodule

A repository embedded within another repository, allowing you to keep a Git repository as a subdirectory of another Git repository.

Git Submodule Foreach

A command that executes a specified shell command for each initialized submodule in a Git repository.

Git Subtree

A feature for managing nested repositories as subdirectories of a parent repository, an alternative to submodules.

Git Update-index

A low-level Git command that manipulates the staging area, updating file information and preparing changes for commit.

Git Wire Protocol

The communication protocol used between Git clients and servers for efficient data transfer.

Git Worktree

A feature allowing multiple working trees to be attached to the same repository, useful for working on different branches simultaneously.

Git Worktree Add

Creates a new working tree associated with the repository, allowing work on multiple branches simultaneously.

Git Worktree List

A command to list details of each working tree associated with the repository, showing paths and branch information.

Git Write-tree

A low-level Git command that creates a tree object from the current index, representing a directory structure.

Git archive

A Git command used to create an archive (zip or tar) of files from a specified commit, useful for creating release packages.

Git branch naming conventions

Agreed-upon patterns for naming branches to improve organization and clarity in collaborative projects.

Git cat-file

A command to examine the contents and type of Git objects, useful for inspecting repository internals.

Git cherry-pick --continue

A command to resume the cherry-pick process after resolving conflicts in a paused cherry-pick operation.

Git config scopes (system, global, local)

Levels at which Git configuration can be set: system (all users), global (user), and local (repository).

Git count-objects -v

A command providing detailed statistics about the number and size of objects in a Git repository.

Git credential helpers

Mechanisms to securely store and retrieve credentials for Git operations, reducing manual authentication.

Git diff drivers

Custom scripts that determine how Git should generate diffs for specific file types.

Git filter-repo

A versatile tool for rewriting Git repository history, offering more power and flexibility than git filter-branch.

Git gc aggressive

A more thorough garbage collection process in Git, optimizing repository storage and performance.

Git hash-object

A low-level Git command that computes the object ID (SHA-1 hash) for a given file or string, used in Git's internal storage.

Git hooks (client-side and server-side)

Scripts triggered by specific events in Git workflows, used to automate tasks or enforce policies.

Git index (staging area)

The intermediate area in Git where changes are prepared before committing, also known as the staging area.