awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
src-d avatar

src-d/go-gitArchived

0
View on GitHub↗
4,880 星标·528 分支·Go·Apache-2.0·2 次浏览github.com/go-git/go-git↗

Go Git

该项目是 Go 应用程序中 Git 版本控制系统的原生实现。它提供了一个可编程的 API 和底层的 plumbing 工具集,允许开发者管理仓库、操作对象图并执行版本控制操作,而无需依赖外部系统二进制文件或 C 绑定。

该库的特点在于其灵活的存储和网络层,具有虚拟文件系统,支持内存中仓库管理以绕过磁盘 I/O。它支持可插拔的网络传输和基于接口的存储后端,允许自定义数据对象和引用的持久化与交换方式。

其功能涵盖了高级仓库管理(包括克隆、提交、推送和拉取)以及详细的历史记录和归因分析。它还包括用于提交签名和加密签名验证的安全功能,以及子模块管理和仓库内容搜索工具。

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.
  • 版本控制 - Extensible Git implementation in pure Go.

Star 历史

src-d/go-git 的 Star 历史图表src-d/go-git 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

src-d/go-git 是做什么的?

该项目是 Go 应用程序中 Git 版本控制系统的原生实现。它提供了一个可编程的 API 和底层的 plumbing 工具集,允许开发者管理仓库、操作对象图并执行版本控制操作,而无需依赖外部系统二进制文件或 C 绑定。

src-d/go-git 的主要功能有哪些?

src-d/go-git 的主要功能包括: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。

src-d/go-git 有哪些开源替代品?

src-d/go-git 的开源替代品包括: 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,…

Go Git 的开源替代方案

相似的开源项目,按与 Go Git 的功能重合度排序。
  • go-git/go-gitgo-git 的头像

    go-git/go-git

    7,211在 GitHub 上查看↗

    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
    在 GitHub 上查看↗7,211
  • progit/progit2progit 的头像

    progit/progit2

    6,522在 GitHub 上查看↗

    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
    在 GitHub 上查看↗6,522
  • magit/magitmagit 的头像

    magit/magit

    7,138在 GitHub 上查看↗

    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
    在 GitHub 上查看↗7,138
  • gitpython-developers/gitpythongitpython-developers 的头像

    gitpython-developers/GitPython

    5,136在 GitHub 上查看↗

    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
    在 GitHub 上查看↗5,136
查看 Go Git 的所有 30 个替代方案→