This project is a pure Go implementation of the Git version control system, providing a library for integrating versioning and history analysis into applications. It functions as a complete repository manager and object store that does not require external binary dependencies. The implementation utilizes interface-based storage, allowing repositories to be managed on disk or entirely in memory. It supports a transactional storage model to ensure atomic operations and implements a content-addressable storage system using delta-compression packfiles. The library covers a broad range of version
This project is a comprehensive educational resource and guide for learning the Git version control system. It serves as a technical documentation source for a textbook that explains the fundamentals, advanced workflows, and internal architecture of Git. The project is structured as a multi-format e-book, with source files designed to be compiled into various digital publication formats, including HTML, PDF, EPUB, and Mobi. It utilizes a dedicated build pipeline to generate and validate these documents. The content covers a broad range of version control capabilities, including history manip
Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag
GitPython is a Python library that provides a programmatic interface for interacting with Git repositories. It functions as a version control API and a wrapper that allows for the execution of Git commands and the manipulation of repository commits, branches, and working trees. The project acts as a Git object manipulator, allowing users to inspect and modify internal data structures and blobs. It provides a structured layer for executing command line instructions with integrated error handling and data retrieval. The library covers a wide range of capabilities including repository initializ
Ce projet est une implémentation native du système de contrôle de version Git pour les applications Go. Il fournit une API programmable et un ensemble d'outils de plomberie de bas niveau qui permet aux développeurs de gérer des dépôts, de manipuler des graphes d'objets et d'effectuer des opérations de contrôle de version sans nécessiter de binaires système externes ou de liaisons C.
Les fonctionnalités principales de src-d/go-git sont : Git Implementation Libraries, Version Control APIs, Version Control Object Retrieval, Branch and Tag Management, Worktree File Manipulation, Diff Generation Utilities, Index Staging Operations, Programmatic Git Automation Libraries.
Les alternatives open-source à src-d/go-git incluent : go-git/go-git — This project is a pure Go implementation of the Git version control system, providing a library for integrating… progit/progit2 — This project is a comprehensive educational resource and guide for learning the Git version control system. It serves… magit/magit — Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control… gitpython-developers/gitpython — GitPython is a Python library that provides a programmatic interface for interacting with Git repositories. It… geeeeeeeeek/git-recipes — This project is an educational resource providing a detailed command reference, tutorial collections, and structured… facebook/sapling — Sapling is a scalable version control system designed to handle repositories with millions of files and commits,…