30 open-source projects similar to go-git/go-git, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Go Git alternative.
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
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
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
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.
libgit2 is a portable, cross-platform C library that provides a programmatic interface for integrating Git version control directly into applications. It serves as a linkable implementation of Git internals, allowing developers to manage repositories and manipulate version control data without requiring a system installation of the Git command line tool. The library functions as an embedded API and object database manager capable of reading and writing commits, trees, blobs, and tags. It includes a network transport client to handle the transfer of repository data over protocols such as SSH a
git-js is a programmatic Node.js library and version control wrapper that provides a structured JavaScript API for executing Git commands. It serves as a Git automation framework and process manager, allowing developers to chain version control tasks and parse raw command output into structured data objects. The project distinguishes itself through a dedicated Git process manager capable of spawning binaries with custom environment variables, specific process ownership, and concurrency throttling to prevent system resource exhaustion. It includes specialized system-level monitoring such as co
This project is a curated collection of command reference guides and workflow documentation for Git. It provides a structured set of shell commands and practical techniques for managing version control and repository history. The guide focuses on specific high-level operational areas, including repository debugging via binary search and log inspection, the manipulation of commit history through squashing and rewording, and the synchronization of remote repositories. It also covers techniques for auditing project evolution and managing remote references. Additional capabilities cover general
This project is a collection of educational resources and reference materials designed to provide guidance on version control workflows. It serves as a knowledge base and command reference guide for managing repositories, featuring a categorized cheat sheet and tutorials on optimizing project management. The resources focus on advanced techniques for history manipulation, such as commit recovery, remote synchronization, and repository optimization. It provides practical tips for refining project history through branching, stashing, and the use of configuration settings to speed up common task
git-flight-rules is a collection of curated guidelines, operational resources, and a command reference for managing version control with Git. It provides a set of procedure-based rules and best practices designed to organize code history, branches, and collaborative development. The project distinguishes itself by providing structured workflows for complex history manipulation and data recovery. This includes specific guidance on rewriting commit history to remove sensitive data, using the reference log to recover lost work, and employing binary searches to isolate regressions. The resource
This is a structured, gamified learning resource for Git and GitHub. It guides learners through code versioning fundamentals using a progression of themed levels and achievements, covering everything from initial repository setup to advanced collaboration workflows. The material is organized around core Git concepts such as branch isolation, commit snapshots, pull request workflows, remote synchronization, and stash management, all supported by a structured glossary of versioning terms. The project distinguishes itself by teaching Git and GitHub workflows through a hands-on, achievement-based
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
js-git is a modular JavaScript implementation of the Git protocol and object model. It provides a content-addressable storage engine that manages blobs, trees, and commits using cryptographic hashes, allowing version control functionality to operate without external system dependencies. The project features a pluggable repository interface and storage layer, enabling Git data to be persisted across diverse mediums such as browser databases or local file systems. It includes a streaming packfile processor for packing and unpacking objects to facilitate efficient data transfer. The library cov
bup is a deduplicating backup manager and incremental backup system. It uses a Git packfile-based storage format to eliminate redundant data across files and versions, treating every incremental save as a full backup. The system provides secure remote transport interfaces for transferring and managing backup data on remote servers via SSH. It also includes a backup repository browser available as both a web interface and a filesystem mount for exploring and retrieving files from snapshots. The project covers broad capability areas including disaster recovery, repository administration, and s
git-extras is a collection of command line utilities that extend the functionality of the Git version control system. It provides a suite of shortcuts and additional commands for history manipulation, remote management, repository analysis, and workflow automation. The project distinguishes itself by offering deep integration with hosting providers to manage pull requests and forks, alongside advanced history tools for obliterating sensitive files and rewriting author metadata. It also includes a specialized interactive shell that allows users to execute commands without repeating the binary
my-git is a comprehensive framework and reference guide for Git version control administration, repository governance, and software release management. It provides a structured approach to managing the software development lifecycle, from initial feature branching to final production deployment. The project distinguishes itself through a specialized AI-assisted development framework. This includes workflows for managing AI-generated code via automated diff reviews, intent-based commit splitting, and governance models for multi-agent coordination and session isolation using worktrees. The cod
This project is a set of instructional resources and step-by-step guides designed for learning version control fundamentals and collaborating via remote hosting platforms. It provides a comprehensive tutorial for using Git and GitHub to manage code versions and track project history. The materials include a practical walkthrough of the GitHub workflow, specifically focusing on forking, cloning, and pushing changes to remote repositories. These guides serve as a learning resource covering both basic and advanced operations for managing file changes. The content covers core version control ope
Legit is a command line wrapper and automation tool that provides an abstraction layer over Git. It simplifies version control by wrapping low-level commands into intuitive operation sequences to reduce manual configuration and increase execution safety. The tool automates common workflows, such as synchronizing branch states by fetching remote changes, merging or rebasing, and pushing updates in a single operation. It also manages local state through automatic stashing and unstashing when switching branches. The project covers a broad range of version control capabilities, including branch
Bit is a command line interface and workflow wrapper for Git that simplifies repository management through high-level commands and automated synchronization. It functions as an interactive shell tool that reduces manual operations by combining staging, committing, and pushing into streamlined workflows. The tool distinguishes itself by integrating directly with version control providers to allow users to view and check out pull requests from the terminal. It also features an intelligent completion system that provides contextual tab-completion and flag suggestions for file paths, branch names
This is a GitHub Actions tool used to clone Git repositories into a workspace to provide source code for automated workflow steps. It functions as a repository manager that handles the orchestration of source code checkouts, including a dedicated authentication handler for persisting security tokens and credentials. The project distinguishes itself through capabilities for managing complex repository structures, such as recursive submodule initialization and the retrieval of large binary assets via Git Large File Storage. It also supports multi-repository workspace management, allowing severa
This project is a comprehensive Git command reference guide and version control cheat sheet. It serves as a technical directory of terminal syntax and functional workflows organized as markdown documentation. The documentation is structured to map specific commands to development lifecycle stages, providing detailed guidance on implementing feature workflows, managing production releases, and executing critical hotfixes. The reference covers a broad range of version control capabilities, including repository initialization, branch and merge management, remote synchronization, and project his
This project is a curated configuration suite and development environment bootstrapper designed to optimize Zsh and Vim. It provides a collection of dotfiles, plugins, and scripts that automate the installation of system packages and shell tools to standardize a local workstation. The suite focuses on creating a consistent experience across the command line and text editor. It implements a Zsh shell framework with syntax highlighting and fuzzy matching, alongside a Vim configuration that includes advanced plugins and modal editing. It also provides a set of sane defaults and Vim-style keybind
This project is a comprehensive educational resource and curriculum focused on site reliability engineering, distributed systems, and infrastructure operations. It provides technical guides, a systems engineering course, and instructional manuals designed to teach the principles of managing large-scale computing environments. The curriculum covers high-level architectural design for scalability and resilience, including fault-tolerant infrastructure, high-availability patterns, and microservices decomposition. It emphasizes the practical application of site reliability engineering through the
zimfw is a Zsh configuration framework and plugin manager designed to customize and optimize the Zsh shell environment. It functions as a system for installing, updating, and pinning shell extensions and themes from remote or local repositories. The framework focuses on shell performance by using byte-code compilation of scripts to reduce startup time and improve execution speed. It employs a declarative configuration model for module management, allowing for version-pinned dependency resolution and the ability to fetch modules without full git clones to accelerate installation. The project
Gogs is a self-hosted Git service and repository manager written in Go. It provides a web-based hosting platform for storing version-controlled repositories with a focus on lightweight deployment across various operating systems and hardware architectures. The system distinguishes itself through a single-binary deployment model, which simplifies installation. It also supports repository migration, allowing users to move existing codebases and documentation from other hosting services into a self-managed environment. The platform covers collaborative code development through pull requests and
Git is a distributed version control system and command-line tool designed for tracking changes in source code and coordinating collaborative software development. It functions as a content-addressable storage platform where project data is maintained as immutable objects indexed by cryptographic hashes, ensuring data integrity and efficient deduplication. The system organizes project history as a directed acyclic graph, where each commit serves as a snapshot linked to its parent to create a verifiable timeline of modifications. The architecture distinguishes itself through an index-based sta
Sapling is a scalable version control system designed to handle repositories with millions of files and commits, making it suitable for large monorepos. It reads and writes Git repositories natively, maintaining full interoperability with Git remotes and standard workflows, and provides an interactive commit graph for exploring repository history and state. The system uses a bookmark-based branching model that eliminates named branches in favor of lightweight, movable labels for commits. It tracks how each commit was created, amended, rebased, or split through commit-graph-based mutation trac
Dura is a Git backup tool and versioning safeguard that monitors multiple repositories to automatically create and restore point-in-time snapshots of modified files. It functions as a background process that snapshots uncommitted changes to a dedicated backup branch to prevent data loss from crashes or accidental deletions. The utility provides state recovery by checking out historical snapshots from these hidden branches, allowing work to be restored without altering the primary development history or the current staging area. The system covers multi-repository monitoring and automated chan
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
ghq is a command line tool and repository manager designed to automate the cloning, organization, and lifecycle management of remote version control repositories. It functions as a wrapper for cloning that maps remote repository URLs to a consistent, structured local directory hierarchy. The tool differentiates itself by implementing deterministic URL-to-path mapping and a VCS-agnostic cloning pipeline. It supports shallow copies, recursive submodule fetching, and the ability to resolve repository locations from various hosts and version control systems. Its broader capabilities cover reposi