Git Glossary

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

Git loose objects

Individual, uncompressed Git objects stored separately in the object database before being packed.

Git ls-tree

A command to list the contents of a tree object in Git, showing files and subdirectories.

Git merge drivers

Custom scripts defining how Git should handle merges for specific file types or patterns.

Git mktree

A low-level Git command that creates a tree object from a specific index or tree listing.

Git object types (blob, tree, commit, tag)

The four fundamental object types used by Git to store repository data and history.

Git pack-refs

A command to pack references into a single file for improved performance in repositories with many references.

Git packfiles

Compressed files containing multiple Git objects, optimizing storage and transfer efficiency in repositories.

Git post-receive hooks (server-side)

Server-side scripts that run after commits have been accepted, often used for notifications or deployments.

Git pre-receive hooks (server-side)

Server-side scripts that run before pushed commits are accepted, used to enforce policies or checks.

Git protocol v2

An improved version of the Git transfer protocol, offering better performance and feature negotiation.

Git rebase --onto

A command to move a series of commits to a new base commit, useful for changing the parent of a branch.

Git reflog expire

A command to remove old entries from the reflog, useful for cleaning up Git history and freeing space.

Git repack

A command to combine all loose objects in a repository into packfiles, improving storage efficiency.

Git reset (soft, mixed, hard)

Commands to undo changes in Git, with varying impacts on the working directory and staging area.

Git secret management

Techniques and tools for securely storing and accessing sensitive information in Git repositories.

Git show-ref

A command that lists references in a Git repository along with their associated commit hashes.

Git sparse-checkout

A feature allowing users to check out only a subset of files from a repository, saving space and time.

Git verify-pack

A command to validate the contents of Git pack files, ensuring data integrity in the object database.

GitHub App

An application that can be installed directly on organizations and user accounts to extend GitHub's functionality.

GitHub Flavored Markdown

A version of Markdown with additional features specifically supported on GitHub.

GitHub Importer

A tool for importing repositories to GitHub from other version control systems or source code hosts.

GitHub Issues

A feature in GitHub for tracking tasks, enhancements, and bugs for a project.

GitHub Jobs

A platform for posting and finding software development jobs, integrated with GitHub profiles, that was discontinued in 2021.

GitHub Marketplace

A platform for developers to sell and buy integrations for GitHub, enhancing workflow and productivity.

GitHub Pages

A static site hosting service that takes files directly from a GitHub repository to publish websites.

GitHub Wiki

A collaborative documentation feature in GitHub repositories, allowing easy creation and editing of project documentation.

GitHub flow

A lightweight, branch-based workflow that supports teams and projects where deployments are made regularly.

GitLab flow

A version control workflow that combines feature-driven development and feature branches with issue tracking.

Gitflow

Branching model for Git that defines a strict branching model designed around project releases.

Gitk (Git Repository Browser)

A graphical interface for viewing Git repositories, providing a visual representation of commit history.

GraphQL

Query language for APIs and a runtime for executing those queries with existing data.

HEAD

A pointer in Git that refers to the latest commit in the current checked-out branch.

Hello, World

A simple program often used as an introduction to a new programming language or environment, including Git tutorials.

Hotfix branching

A method for quickly patching production releases by branching directly from the main branch or a tag.

Index

Also known as the staging area, where changes are prepared before committing in Git.

Issue templates

Predefined structures for creating new issues in Git repositories, ensuring consistent and complete information.

Jekyll

A static site generator often used with GitHub Pages to create websites from Markdown files in a Git repository.

Jekyll Theme Chooser

A tool in GitHub Pages that allows users to easily select and apply pre-designed themes to their Jekyll sites.

LFS

Git Large File Storage, an extension for versioning large files in Git repositories.

Linguist

A library used by GitHub to detect the programming languages used in repositories.

Markdown

A lightweight markup language commonly used for documentation in Git repositories.

Master

Formerly the default name for the primary branch in Git repositories, now often replaced by 'main'.

Merge

The process of combining changes from different branches into a single branch, integrating multiple lines of development.

OAuth app

An application that uses the OAuth protocol to access Git platform APIs on behalf of users.

OAuth token

A secure string used for authentication in Git operations, allowing access to resources without sharing passwords.

Origin

The default name for the remote repository from which a local repository was cloned.

Patch

A file describing changes between versions, used to share and apply modifications across different Git repositories.

Pull

A Git command that fetches changes from a remote repository and merges them into the current branch.

Pull Request

A method of submitting contributions to a Git project, proposing changes from a forked repository or branch.

Pull request templates

Customizable files that automatically populate the body of new pull requests, guiding contributors.