awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
src-d avatar

src-d/go-gitArchived

0
View on GitHub↗
4,880 Stars·528 Forks·Go·Apache-2.0·2 Aufrufegithub.com/go-git/go-git↗

Go Git

Dieses Projekt ist eine native Implementierung des Git-Versionskontrollsystems für Go-Anwendungen. Es bietet eine programmierbare API und ein Low-Level-Plumbing-Toolset, das es Entwicklern ermöglicht, Repositories zu verwalten, Objektgraphen zu manipulieren und Versionskontrolloperationen durchzuführen, ohne externe System-Binärdateien oder C-Bindings zu benötigen.

Die Bibliothek zeichnet sich durch ihre flexiblen Speicher- und Netzwerkschichten aus, mit einem virtuellen Dateisystem, das In-Memory-Repository-Management ermöglicht, um Festplatten-I/O zu umgehen. Sie unterstützt steckbare Netzwerktransporte und Interface-basierte Speicher-Backends, was benutzerdefinierte proprietäre Implementierungen ermöglicht, wie Datenobjekte und Referenzen persistent gespeichert und ausgetauscht werden.

Die Funktionsfläche deckt High-Level-Repository-Management ab – einschließlich Klonen, Committen, Pushen und Pullen – neben detaillierter Historien- und Attributionsanalyse. Sie enthält zudem Sicherheitsfunktionen für Commit-Signierung und kryptografische Signaturverifizierung sowie Utilities für Submodul-Management und die Suche nach Repository-Inhalten.

Features

  • Git Implementation Libraries - Implements a full Git version control system as a native Go library for direct application integration.
  • Version Control APIs - A set of programmable interfaces for performing cloning, committing, pushing, and pulling operations on Git repositories.
  • Version Control Object Retrieval - Implements the ability to fetch specific commits, trees, and blobs from remote Git servers.
  • Branch and Tag Management - Includes a system to create and remove branches and tags to organize development streams and releases.
  • Worktree File Manipulation - Manages the interaction between the index and the physical file system to synchronize the working tree.
  • Diff Generation Utilities - Generates unified diffs to identify changes between different states of a project.
  • Index Staging Operations - Implements operations for adding modified files from the working tree to the index to prepare for a commit.
  • Programmatic Git Automation Libraries - Provides a native library for programmatically automating Git operations like cloning, pushing, and committing without external binaries.
  • Remote Change Integration - Provides processes for fetching and incorporating updates from remote repositories into local branches via merges.
  • Remote Repository Cloning - Implements the capability to copy a remote repository to a local system using configurable authentication.
  • Remote Repository Synchronization - Implements the ability to configure and track remote repository connections for synchronizing local and remote stores.
  • Repository Initialization - Provides mechanisms to initialize new plain or bare version control repositories.
  • Worktree Analysis Tools - Implements utilities to track and identify modifications, additions, or deletions by comparing the worktree against the index.
  • Remote Reference Listing - Enables querying remote servers for a list of available branches and tags.
  • Remote Reference Synchronization - Provides mechanisms to synchronize local and remote repository states through pushing and fetching.
  • Directed Acyclic Graphs - Utilizes directed acyclic graphs to traverse commit and tree hierarchies and resolve project history.
  • Pure Go Portings - Provides a native Go implementation of Git that removes the need for external C bindings or system binaries.
  • Branch Checkouts - Implements the fundamental operation of updating the working directory to match a specific commit or reference.
  • Git Core Implementations - Provides a full native implementation of the Git version control system and its internal logic.
  • Plumbing Toolsets - Provides a low-level plumbing toolset for manipulating hashes, trees, and references to implement custom version control logic.
  • Repository Accessors - Provides utilities to open and interact with existing repositories on disk to access their history and state.
  • Hash-Anchored Addressing - Implements content-addressed storage using cryptographic hashes to ensure repository integrity.
  • Object Graph Traversers - Implements algorithms to walk through the commit and tree graph to identify all reachable objects.
  • Snapshot Committing - Implements the core capability of saving the current index state as a permanent snapshot in the repository history.
  • Index-Based Staging - Implements a Git-style index to track working directory state and stage changes before committing.
  • In-Memory File Systems - Implements an in-memory file system to enable high-performance repository management without disk I/O.
  • Git Virtual File Systems - Features a virtualization layer that allows Git repository objects to be managed in volatile memory.
  • Custom Storage Implementations - Provides a framework for implementing proprietary storage backends for Git objects and references.
  • Version Control Storage Backends - Allows developers to implement proprietary backends for storing and retrieving Git objects by replacing the default file system.
  • In-Memory Data Stores - Includes a storage system that maintains Git objects and references in volatile memory for high-performance processing.
  • Object Persistence Definitions - Allows defining custom persistence logic for storing Git objects and references.
  • Storage Backend Adapters - Offers a storage adapter interface allowing repository data to be persisted on disk, in memory, or custom backends.
  • Submodule Management Tools - Provides a system to initialize, update, and synchronize nested submodules within a worktree.
  • Pluggable Transport Layers - Provides modular interfaces to decouple communication protocols from core version control logic.
  • Custom Network Transport Layers - Provides modular interfaces to swap the underlying network transport layer used for remote repository communication.
  • Reference Listings - Includes utilities to retrieve and iterate over all available branches and tags within a repository.
  • Revision Resolvers - Provides a utility to translate revision identifiers into specific commit objects.
  • Data Mining and Datasets - Extensible Git implementation in Go for data mining.
  • GitHub Ecosystem Projects - Go library for reading Git repositories.
  • Versionskontrolle - Extensible Git implementation in pure Go.

Star-Verlauf

Star-Verlauf für src-d/go-gitStar-Verlauf für src-d/go-git

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Go Git

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Go Git.
  • go-git/go-gitAvatar von go-git

    go-git/go-git

    7,211Auf GitHub ansehen↗

    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

    Gogitgit-clientgit-library
    Auf GitHub ansehen↗7,211
  • progit/progit2Avatar von progit

    progit/progit2

    6,522Auf GitHub ansehen↗

    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

    CSS
    Auf GitHub ansehen↗6,522
  • magit/magitAvatar von magit

    magit/magit

    7,138Auf GitHub ansehen↗

    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

    Emacs Lisp
    Auf GitHub ansehen↗7,138
  • gitpython-developers/gitpythonAvatar von gitpython-developers

    gitpython-developers/GitPython

    5,136Auf GitHub ansehen↗

    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

    Python
    Auf GitHub ansehen↗5,136
Alle 30 Alternativen zu Go Git anzeigen→

Häufig gestellte Fragen

Was macht src-d/go-git?

Dieses Projekt ist eine native Implementierung des Git-Versionskontrollsystems für Go-Anwendungen. Es bietet eine programmierbare API und ein Low-Level-Plumbing-Toolset, das es Entwicklern ermöglicht, Repositories zu verwalten, Objektgraphen zu manipulieren und Versionskontrolloperationen durchzuführen, ohne externe System-Binärdateien oder C-Bindings zu benötigen.

Was sind die Hauptfunktionen von src-d/go-git?

Die Hauptfunktionen von src-d/go-git sind: 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.

Welche Open-Source-Alternativen gibt es zu src-d/go-git?

Open-Source-Alternativen zu src-d/go-git sind unter anderem: 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,…