awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
go-git avatar

go-git/go-git

0
View on GitHub↗
7,211 نجوم·882 تفرعات·Go·apache-2.0·5 مشاهداتpkg.go.dev/github.com/go-git/go-git/v6↗

Go Git

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 control capabilities, including workspace management, branching and merging, and remote synchronization. It provides tools for commit and reference management, submodule handling, and the ability to perform content searches and digital signing of objects.

The project allows for the development of custom Git backends and programmatic automation of tasks such as cloning and committing.

Features

  • Version Control Implementations - Provides a pure Go implementation of the Git version control system, removing dependencies on external C libraries.
  • Git Core Implementations - Implements the entire Git version control system as a pure Go library without requiring external binaries.
  • Content-Addressable Storage - Implements a content-addressable storage system using SHA-1 hashes to ensure data integrity for all repository objects.
  • Version Control Storage - Enables managing version-controlled data and history entirely in memory for high performance or testing.
  • Git Object Backends - Manages the storage and retrieval of encoded Git objects using a content-addressed model.
  • Delta-Compressed Packfiles - Utilizes delta-compression packfiles to store multiple objects efficiently by recording differences between data versions.
  • File Restoration - Enables recovering specific files in the working directory from previous commits.
  • Git Repository Managers - Provides a toolkit for programmatic repository manipulation including cloning and branch management.
  • Remote Change Integration - Incorporates updates from a remote source into the current branch using a fast-forward merge.
  • Repository Initialization - Creates a new empty Git project structure at a specified path or in memory.
  • Version Tag Management - Allows assigning permanent labels to specific commits to mark releases or milestones.
  • Remote Reference Synchronization - Retrieves the latest references and objects from remote sources to update local history records.
  • Repository Cloning Tools - Implements the capability to clone remote projects into local directories or memory.
  • Local-Remote Branch Synchronizers - Synchronizes local state with remotes by uploading local commits and branch references.
  • Pure Go Portings - Provides a complete, pure Go implementation of the Git system, eliminating external binary dependencies.
  • Branch Checkouts - The project switches the active development line or restores specific files to the working directory.
  • Branch Switching - The project changes the active development branch or restores the working tree to a specific state.
  • Reference Name Resolution - Resolves symbolic references and human-readable names to identify the final underlying commit hashes.
  • Remote Connection Management - Creates named or anonymous connections to track and synchronize with external project repositories.
  • Repository Type Detection - Detects repository types and accesses existing project directories or storage systems.
  • Snapshot Committing - Saves the current state of the staging area as a new snapshot with a descriptive message.
  • Index-Based Staging - Maintains a binary index file as an intermediate staging layer between the working directory and commit history.
  • Reference Management - Provides the logic to resolve symbolic reference names into specific commit hashes.
  • Symbolic Reference Tracing - Implements the recursive tracing of symbolic references to find the underlying commit.
  • Storage Abstractions - Provides storage abstractions that allow repositories to be managed interchangeably on disk or entirely in memory.
  • Version Control Libraries - Serves as a comprehensive library for integrating Git-based versioning and worktree manipulation into other applications.
  • Atomic Transactions - Ensures data consistency by performing read and write operations within atomic groups that can be committed or rolled back.
  • Copy-on-Write Transactional Models - Implements a transactional storage model that groups operations into atomic units to prevent data corruption.
  • Loose Object Management - Tracks and deletes individual loose objects not stored in packfiles to maintain storage efficiency.
  • Storage Space Optimization - Reclaims disk space by compressing loose objects into packfiles and removing unreferenced data.
  • Branch Management - Retrieves and manages a complete list of available development lines within a repository.
  • Commit History Traversal - Programmatically walks commit graphs to inspect chronological changes from a specific reference.
  • Worktree File Manipulation - Handles moving, renaming, and removing files in both the working directory and the staging index.
  • Client Development Kits - Provides a programmatic library for creating custom software that interacts with Git repositories for analysis and management.
  • Project Search Tools - Implements high-performance text search across the entire project or active working directory.
  • Shallow Cloning - Supports shallow cloning by tracking the cutoff point of truncated histories to optimize bandwidth and disk space.
  • Worktree Cleaning - Provides functionality to remove untracked files and directories from the local workspace.
  • Worktree Reset - Implements the ability to revert the working directory and index to a previous specified state.
  • Git Workflow Automation - Provides programmatic interfaces to automate repetitive Git tasks like cloning and committing.
  • Submodule Update Management - Implements logic to update submodules to the versions required by the main project.
  • Worktree Analysis Tools - Compares the current state of the working directory against the staging index to analyze changes.
  • Packfile Optimization - Optimizes storage by writing compressed data packs and removing outdated index files.
  • Submodule Initialization - Provides capabilities to initialize nested project dependencies based on index entries.
  • Branch Merging Strategies - Combines changes from a reference branch into the active branch using defined merge strategies.

سجل النجوم

مخطط تاريخ النجوم لـ go-git/go-gitمخطط تاريخ النجوم لـ go-git/go-git

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Go Git

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Go Git.
  • src-d/go-gitالصورة الرمزية لـ src-d

    src-d/go-git

    4,880عرض على GitHub↗

    This project is a native implementation of the Git version control system for Go applications. It provides a programmable API and a low-level plumbing toolset that allows developers to manage repositories, manipulate object graphs, and perform version control operations without requiring external system binaries or C bindings. The library is distinguished by its flexible storage and network layers, featuring a virtual file system that enables in-memory repository management to bypass disk I/O. It supports pluggable network transports and interface-based storage backends, allowing for custom p

    Go
    عرض على GitHub↗4,880
  • isomorphic-git/isomorphic-gitالصورة الرمزية لـ isomorphic-git

    isomorphic-git/isomorphic-git

    8,259عرض على GitHub↗

    Isomorphic-git is a full implementation of the Git version control system written in JavaScript. It serves as a programmatic client library that allows developers to perform core version control operations without requiring a system-level Git binary installation. The library is designed as an isomorphic codebase, meaning it runs identically across both client-side web browser environments and server-side Node.js runtimes. It achieves this by using a filesystem-agnostic storage model and a pure JavaScript implementation of the Git core logic and the Smart HTTP protocol. The project covers a c

    JavaScript
    عرض على GitHub↗8,259
  • progit/progit2الصورة الرمزية لـ progit

    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
  • geeeeeeeeek/git-recipesالصورة الرمزية لـ geeeeeeeeek

    geeeeeeeeek/git-recipes

    14,752عرض على GitHub↗

    This project is an educational resource providing a detailed command reference, tutorial collections, and structured guides for mastering version control. It serves as a set of Chinese language tutorials based on international community best practices, designed to help users learn both the core concepts and practical applications of Git. The resource focuses on specific workflow guides for managing feature development, release cycles, and collaborative forking strategies. It pairs theoretical version control concepts with practical command-line examples to demonstrate real-world application.

    عرض على GitHub↗14,752
عرض جميع البدائل الـ 30 لـ Go Git→

الأسئلة الشائعة

ما هي وظيفة go-git/go-git؟

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.

ما هي الميزات الرئيسية لـ go-git/go-git؟

الميزات الرئيسية لـ go-git/go-git هي: Version Control Implementations, Git Core Implementations, Content-Addressable Storage, Version Control Storage, Git Object Backends, Delta-Compressed Packfiles, File Restoration, Git Repository Managers.

ما هي البدائل مفتوحة المصدر لـ go-git/go-git؟

تشمل البدائل مفتوحة المصدر لـ go-git/go-git: src-d/go-git — This project is a native implementation of the Git version control system for Go applications. It provides a… isomorphic-git/isomorphic-git — Isomorphic-git is a full implementation of the Git version control system written in JavaScript. It serves as a… progit/progit2 — This project is a comprehensive educational resource and guide for learning the Git version control system. It serves… geeeeeeeeek/git-recipes — This project is an educational resource providing a detailed command reference, tutorial collections, and structured… libgit2/libgit2 — libgit2 is a portable, cross-platform C library that provides a programmatic interface for integrating Git version… steveukx/git-js — git-js is a programmatic Node.js library and version control wrapper that provides a structured JavaScript API for…