LLMpediaThe first transparent, open encyclopedia generated by LLMs

Git

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Obsidian (software) Hop 3
Expansion Funnel Raw 47 → Dedup 33 → NER 15 → Enqueued 15
1. Extracted47
2. After dedup33 (None)
3. After NER15 (None)
Rejected: 18 (not NE: 18)
4. Enqueued15 (None)
Git
Git
NameGit
DeveloperLinus Torvalds
Released07 April 2005
Programming languageC, shell script
Operating systemUnix-like, Microsoft Windows, macOS
GenreVersion control
LicenseGNU GPL v2 and later
Websitehttps://git-scm.com/

Git. It is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Created by Linus Torvalds in 2005 for development of the Linux kernel, its design emphasizes performance, data integrity, and support for distributed, non-linear workflows. It has since become the dominant tool for source code management in software development, used by millions of projects and developers worldwide, including major platforms like GitHub, GitLab, and Bitbucket.

Overview

Git tracks changes in any set of files, coordinating work among multiple programmers and maintaining a complete history of revisions. Its architecture differs from older centralized systems like Subversion or Concurrent Versions System by giving every developer a full local repository with complete history and version-tracking capabilities. This model allows for powerful branching and merging, offline work, and flexible collaboration patterns. The system is a foundational component of modern DevOps practices and continuous integration pipelines, enabling teams to manage complex software lifecycles efficiently.

History

The development of Git was initiated by Linus Torvalds after the licensing of the proprietary BitKeeper tool used for the Linux kernel development was revoked. Torvalds sought to create a new system that would be fast, simple, fully distributed, and capable of handling large projects like the kernel with strong safeguards against corruption. The first version was released in April 2005, with key design goals inspired by lessons from systems like BitKeeper and Monotone. Since its inception, maintenance has been overseen by Junio Hamano, who took over as the primary steward shortly after its creation, guiding its evolution through thousands of contributions from the open-source community.

Design and features

Git's design is built around a content-addressable filesystem and uses a directed acyclic graph to store project history. Each commit is identified by a SHA-1 hash, ensuring cryptographic integrity of the project data. Core features include cheap local branching, convenient staging areas, and multiple workflows. Its performance is renowned, with operations like branching and committing being nearly instantaneous compared to older systems. The toolset includes powerful commands for inspecting history, such as git log and git bisect, and for rewriting history with commands like git rebase. Data integrity is a cornerstone, with every file and commit checksummed upon creation.

Branching and merging

Branching in Git is lightweight and instantaneous, encouraging workflows where branches are created for features, experiments, or bug fixes. The system uses a fast three-way merge algorithm and can recursively handle complex merge scenarios involving multiple common ancestors. The popular GitFlow workflow, popularized by Vincent Driessen, formalizes a branching model for release management. Merging is a fundamental operation, and Git provides tools to resolve conflicts when changes overlap. Strategies like rebase allow for a linear project history by reapplying commits onto a different base, often used in conjunction with platforms like GitHub for pull request reviews.

Distributed development

As a distributed version control system, every Git clone is a full-fledged repository with complete history, independent of network access. This facilitates numerous collaboration models, from a centralized workflow mimicking Subversion to a more integrator-based model used in projects like the Linux kernel. Changes are shared between repositories via operations like git push and git fetch, with no single point of failure. This architecture supports open-source collaboration at scale, as seen on GitHub and Apache Software Foundation projects, and enables robust peer review processes through mechanisms like signed commits and tags.

Implementations and interfaces

The original Git is a suite of command-line tools written primarily in C and shell script. Numerous graphical user interfaces exist, including GitKraken, Sourcetree, and integrations within IDEs like Visual Studio Code, IntelliJ IDEA, and Eclipse. For server-side hosting, implementations range from the simple Git daemon to sophisticated platforms like GitHub Enterprise Server and GitLab. The libgit2 library provides a portable API for building tools, and alternative implementations like JGit for the Java ecosystem power services like Gerrit Code Review.

Category:Free version control software Category:Software using the GPL license Category:Software programmed in C