30 open-source projects similar to magit/magit, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits. The project includes specialized utilities for managing the Git index, such as a stage manager for staging specific diff hunks directly from a buffer. It also features a multi-way diff layout for resolving merge conflicts by comparing target and source branches during merges or rebases. Beyo
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
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
Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging directly into the editor buffer. It renders add, modify, and delete indicators in the sign column for tracked files, and provides inline or popup blame annotations showing commit authorship and date for each line. The plugin operates on individual diff hunks as atomic units for staging, reverting, and navigation, all executed asynchronously via Neovim's job control API to avoid blocking the UI. The plugin distinguishes itself by enabling hunk-level staging and resetting directly
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.
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 is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
forgit is a shell-based interactive CLI wrapper that uses a fuzzy finder to transform Git output into selection menus. It functions as a workflow accelerator and history browser, replacing manual command entry with searchable interfaces for version control operations. The tool provides specialized managers for Git worktrees and an interactive history browser for visualizing commit logs, reflogs, and blame data. It differentiates itself by wrapping native Git subcommands in selection logic, allowing users to pick targets before executing final operations. Its capabilities cover interactive fi
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 repository contains the comprehensive documentation for a code editor focused on AI-assisted software development and remote development workflows. It covers the implementation of AI agents and language models used for autonomous code generation, large-scale refactoring, and task iteration. The project is distinguished by its deep integration of autonomous AI agents capable of web navigation, application logic validation, and orchestrating multi-step development processes. It provides specialized frameworks for tailoring AI behavior through custom instructions, model context protocols, a
Gitui is a terminal user interface and repository manager built with Rust. It provides a keyboard-driven visual environment for performing version control operations without the need to type manual command line arguments. The application enables the management of Git branches, commits, and remote synchronization, alongside capabilities for stashing temporary work and managing submodules. It includes support for GPG commit signing to verify identity through cryptographic signatures. Users can customize the experience through keyboard shortcut rebinding and visual theme adjustments. The interf
Neogit is a visual Git version control client designed for managing repositories through staging, committing, pushing, and merging. It provides a suite of tools for inspecting code differences, visualizing commit history via a graphical branch tree, and automating event-based workflows. The project features a workflow automation system that triggers custom logic and notifications based on repository events, such as branch creation or pushes. It also includes utilities for generating direct deep-links to commits, pull requests, and file structures on remote version control hosting providers.
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
grv is a terminal-based version control client and interactive Git repository browser. It functions as a terminal user interface for browsing commit history, inspecting code differences, and managing branches and tags within Git repositories. The project distinguishes itself through a graphical commit graph visualizer that renders branching patterns and merge history directly in the terminal. It employs a tiled view layout engine and tabbed workspace management to display multiple repository perspectives simultaneously, supported by real-time filesystem monitoring to update the interface auto
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 Git command reference and version control cheat sheet. It serves as a workflow guide for initializing projects, managing branches, and coordinating changes between local and remote environments. The documentation provides a categorized list of commands to manage file snapshots, commit histories, and general development workflows. It maps common version control tasks to their specific shell syntax for quick reference. The reference covers several primary capability areas, including branch management, history inspection, and remote synchronization. It also includes gu
GitExtensions is a graphical user interface client for managing Git repositories. It provides a suite of visual tools for browsing commit logs, staging changes, and tracking file evolution across a project's history. The project features a commit visualizer that maps branch and merge relationships via a graphical map and a dedicated history manager for performing interactive rebases and squashing commits. It includes a visual merge conflict resolver to identify and fix overlapping code changes during merges or history rewrites. The software covers broad version control capabilities, includin
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
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
The Missing Semester is a free, open-source educational curriculum designed to bridge the gap between theoretical computer science and the practical tooling every software engineer needs. Organized as a structured course, it covers Unix shell mastery, version control with Git, software debugging and profiling, system administration fundamentals, and computer security practices — the skills often left out of traditional degree programs. The project is maintained as a collaborative set of lecture notes, exercises, and guides that function as both a professional development tools course and a Uni
lakeFS is a data lake versioning system that provides Git-like branching and commits for large datasets stored in object storage. It functions as a version control layer, enabling the creation of immutable snapshots, atomic commits, and zero-copy branching to create isolated environments for data experimentation without duplicating physical files. The system serves as an S3-compatible storage gateway and an Iceberg REST catalog, allowing standard cloud storage protocols and compatible clients to manage versioned tables. It acts as a data quality gatekeeper by using an event-driven hook system
This project is a Lua-based file explorer plugin for Neovim that provides a sidebar tree interface for navigating project directories. It functions as a file system node manipulator and a Git-integrated file manager, allowing users to interact with their project structure directly within the editor. The plugin distinguishes itself by integrating version control status into the visual tree, enabling users to track, stage, and unstage files through the explorer interface. It also features a public API that allows external scripts to trigger internal functions and subscribe to system events. Th
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
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
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
This project is a Vim plugin that functions as a comprehensive Git version control interface. It integrates repository management, staging, and commit operations directly into the text editor, allowing users to maintain project history and manage repository state without switching contexts. The plugin distinguishes itself by mapping version control operations to temporary text buffers, enabling users to manipulate repository data using standard editing commands. It utilizes a virtual file system to present historical commits, trees, and blobs as read-only buffers, facilitating navigation and
GitUp is a graphical user interface client and version control tool for managing Git repositories. It provides a visual environment for browsing repository content, editing history, and performing version control operations. The application features an interactive commit graph visualizer for navigating branching and merging history. It includes a dedicated history editor that allows for the visual manipulation of the project timeline, including the ability to reorder, split, and roll back commits. The tool covers diff analysis through side-by-side file comparisons and high-speed content sear