30 open-source projects similar to git/git, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Git alternative.
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
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
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
DVC is a data versioning tool and pipeline orchestrator designed to track large datasets and machine learning models. It functions as a system for managing large data artifacts by storing lightweight metadata in version control while keeping the actual binaries in a separate cache. The project serves as an experiment tracker and remote storage synchronizer, enabling the execution and comparison of machine learning iterations based on hyperparameters and performance metrics. It provides a bridge for pushing and pulling these large data artifacts between local environments and cloud or on-premi
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
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
Kubo is a peer-to-peer implementation of the InterPlanetary File System (IPFS) designed for decentralized data storage and content delivery. It uses content-addressing, directed acyclic graphs, and distributed hash tables to identify, distribute, and retrieve data across a network without relying on central servers. The project differentiates itself by providing a virtual filesystem via FUSE, which maps decentralized network namespaces to local operating system directories for direct file access. It also includes integrated HTTP gateways that translate peer-to-peer content into standard web t
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
This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis
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
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
Chocolatey is a Windows package manager and command-line software automator. It serves as a system configuration tool designed to automate the installation, upgrading, and removal of software packages on Windows operating systems through a terminal interface. The project utilizes a NuGet-based software distribution model to manage and version applications. This approach replaces manual downloads and interactive installer wizards with scripted, repeatable deployments. The tool covers broad capability areas including automated system provisioning, Windows package deployment, and software manag
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
ShareX is a desktop utility designed for screen capture, image annotation, and automated file sharing. It provides a comprehensive suite of tools for capturing screen regions, windows, or scrolling content, and includes a layered image editor that allows users to manipulate, scale, and transform graphical elements and annotations directly on captured media. The application distinguishes itself through an event-driven post-capture pipeline that triggers automated workflows, such as image processing, external command execution, or file uploads, immediately after a capture event. Users can exten
Remotion is a programmatic video framework that enables the creation of video content using component-based logic and standard web technologies. By leveraging a declarative animation engine, it allows developers to structure visual content as a hierarchy of reusable components, ensuring that animations and state updates remain consistent through deterministic frame execution. The framework distinguishes itself by utilizing a headless browser renderer that captures visual output frame-by-frame to generate high-quality video files. This architecture supports a cloud-native media pipeline, allow
Medusa is a headless commerce engine designed as a modular, API-first platform for building custom digital storefronts and business applications. Its architecture is built on a decoupled system where core business logic is encapsulated into independent, swappable modules that communicate through defined interfaces, allowing developers to incrementally adopt or replace components to fit specific operational needs. The platform distinguishes itself through a highly extensible design that supports complex commerce requirements, including multi-vendor marketplace operations, B2B purchasing workfl
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
Lazygit is a terminal-based user interface designed to simplify version control operations through a keyboard-driven workflow. It functions as a visual abstraction layer that bridges native commands with an interactive environment, allowing users to manage repository history, branches, and commit workflows without relying solely on manual command-line input. The tool distinguishes itself by automating complex version control tasks that typically require multiple manual steps. It provides specialized interfaces for interactive rebasing, commit history amendment, and binary search-based regress
:octocat: Open source github contribution stats on your Mac OS X Menu Bar
git-it-electron is a Git learning desktop application and interactive programming education tool. It provides a cross-platform environment for practicing Git and GitHub workflows through guided challenges and command line exercises. The application functions as a workflow simulator that validates local repository states to confirm the correct execution of version control commands. It uses automated state-based completion verification to scan local directories and repository histories, ensuring specific learning steps are performed correctly before a user progresses. The software covers comma
Hub is a git command line tool and GitHub API client that provides a shell interface for automating workflows. It functions as a GitHub git wrapper, extending standard git commands to include direct management of repositories, issues, and pull requests. The tool integrates REST API communication with a wrapper-based execution model to perform administrative tasks without a web browser. It utilizes OAuth-based authentication and a local configuration store to secure API requests. The utility includes shell command completion and argument parsing to improve terminal productivity. It also suppo
git-cola: The highly caffeinated Git GUI
Semantic-release is an automated release management tool that determines version increments, generates changelogs, and publishes software packages by analyzing commit history against standardized conventions. It functions as a plugin-based orchestrator that integrates directly into continuous integration pipelines to manage the entire release lifecycle, from verifying environment conditions to distributing artifacts. The project distinguishes itself through its commit-message-driven approach, which enforces consistent versioning standards and automates the creation of release notes based on t
GitButler is a desktop application designed for managing Git version control workflows. It provides a visual interface for organizing concurrent development tasks, allowing users to work on multiple features or bug fixes simultaneously within a single repository without the need for manual context switching. The application utilizes a virtual file system overlay and in-memory staging to track granular file modifications independently of the underlying version control system. It features a conflict isolation engine that breaks down complex merge conflicts into smaller, manageable segments, and
Captura is a desktop screen recording and screenshot utility designed to capture video, webcam feeds, and system audio into multimedia recordings. It functions as a recording suite that can also be operated as a command line video recorder, allowing users to trigger and manage capture workflows via terminal commands. The software distinguishes itself by recording user input, such as mouse movements and keystrokes, as visual overlays on top of the captured video. It further supports automated workflows through the integration of system-level hardware media keys, enabling recording state change
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks. The system uses a deterministic functional language and a lazy-evaluation expression engine to manage software dependencies and isolate build environments. It distinguishes itself through a content-addressable store that allows multiple versions of s
MkDocs is a static site generator designed specifically for creating project documentation. It functions as a command-line utility that transforms structured Markdown files into professional, searchable websites. By utilizing a centralized configuration file, it manages site metadata, navigation hierarchies, and build settings to ensure consistent output across documentation projects. The platform distinguishes itself through a highly extensible architecture that separates content from presentation. Users can apply visual themes to control the site's appearance, while a plugin-based build sys
Spoon-Knife is a sandbox repository designed as a training tool for developers to learn the mechanics of distributed version control. It provides a dedicated environment for practicing the fundamental workflows of collaborative software development, including branching, committing, and merging code. The project serves as a tutorial for mastering the lifecycle of open source contributions. Users can practice creating personal forks of the repository to experiment with changes in an isolated workspace, as well as submitting pull requests to propose modifications for review. This structure allow