Open-source version-control software
643 open-source libraries, tools and applications tagged version-control, ranked by how closely version-control is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
643 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| pinact pinact is a Go CLI that pins GitHub Actions and Reusable Workflows to full commit SHAs in workflow and composite action files, adding versi… | 96 | 1231 | active |
| GerritCodeReview/gerrit Gerrit is a self-hosted web-based code review and project management tool for Git-based projects, featuring side-by-side diffs, inline comm… | 77 | 1230 | stable |
| Cretezy/lazyjj lazyjj is a terminal user interface (TUI) for the Jujutsu (jj) version control system, built in Rust with Ratatui. It wraps the jj CLI to p… | 61 | 1223 | active |
| Trailer Trailer is a native macOS, iOS, and watchOS app (with companion CLI and Android ports) for managing GitHub pull requests and issues across … | 84 | 1215 | active |
| cocogitto/cocogitto Cocogitto is a Rust CLI toolbox for the Conventional Commits and SemVer specifications. It helps create compliant commits, automatically bu… | 66 | 1211 | active |
| Scala Steward Scala Steward is a bot that automatically keeps Scala project dependencies and build plugins up-to-date by opening pull requests when new v… | 92 | 1200 | active |
| avinassh/rockstar A satirical Python library and CLI that generates a git repository full of backdated commits to fill your GitHub contribution graph with gr… | 32 | 4186 | maintenance |
| Oxen Oxen is a fast data version control system written in Rust that versions large datasets (images, audio, video, text, parquet) with a git-li… | 96 | 1197 | active |
| QuiiBz/sherif Sherif is an opinionated, zero-config linter for TypeScript and JavaScript monorepos, written in Rust for speed. It checks package. consist… | 82 | 1184 | active |
| Gentleman-Programming/gentleman-guardian-angel Gentleman Guardian Angel (gga) is a pure-Bash CLI tool that runs AI-powered code reviews on staged files via a git pre-commit hook, using a… | 71 | 1184 | active |
| its-maestro-baby/maestro A cross-platform desktop application that orchestrates multiple AI coding assistant CLI sessions (Claude Code, Gemini CLI, OpenAI Codex) in… | 60 | 1180 | active |
| rgburke/grv GRV is a terminal-based ncurses interface for viewing Git repositories, allowing refs, commits, and diffs to be browsed, searched, and filt… | 23 | 4095 | maintenance |
| Uncommon/Xit Xit is a free, open-source graphical Git client for macOS built in Swift on top of libgit2. It provides a visual interface for browsing com… | 64 | 1172 | active |
| unixorn/git-extra-commands A collection of extra git helper scripts packaged as a ZSH plugin (also usable with bash or manual installation). It bundles useful git uti… | 69 | 1170 | active |
| gitlab4j/gitlab4j-api GitLab4J-API is a full-featured Java client library for interacting with GitLab repositories through the GitLab REST API. It supports GitLa… | 86 | 1158 | active |
| udecode/dotai A collection of reusable skills (SKILL.md workflows) for coding agents like Claude Code, Cursor, and Codex, covering goal management, orche… | 68 | 1158 | active |
| twolfson/sexy-bash-prompt A customizable Bash prompt script that adds colors, git branch names, and git status indicators (dirty, unpulled, unpushed) to the terminal… | 52 | 1155 | stable |
| buildinspace/peru Peru is a generic package manager for including other people's code in your projects. It fetches dependencies from git, hg, svn, or tarball… | 50 | 1146 | active |
| vercel-labs/eve-software-factory-template Foreman is a template for an 'eve Software Factory' that runs AI agents across the development loop: a classifier triages tasks from GitHub… | 57 | 1144 | active |
| Git Machete git-machete is a CLI tool that organizes git repositories by managing stacked branches and automating rebase/merge/push/pull workflows. It … | 97 | 1141 | active |
| wasabeef/claude-code-cookbook A collection of commands, roles, and automation hooks that extend Claude Code with custom slash commands for common development tasks. It a… | 63 | 1133 | active |
| gruntwork-io/git-xargs git-xargs is a Go-based command-line tool for applying a script or command across multiple GitHub repositories in one run. It clones each r… | 74 | 1128 | active |
| sigstore/gitsign Gitsign is a CLI tool that signs Git commits and tags using Sigstore's keyless signing, backed by your GitHub or other OIDC identity instea… | 89 | 1126 | active |
| Dicklesworthstone/beads_rust A fast Rust port of Steve Yegge's beads issue tracker, frozen at the classic SQLite + JSONL architecture. It stores tasks locally in SQLite… | 79 | 1126 | active |
| captainhook-git/captainhook CaptainHook is a flexible git hook manager for PHP developers that lets teams configure git hook actions in a JSON file. It supports built-… | 74 | 1123 | active |
| kitlangton/ghui ghui is a keyboard-driven terminal UI for tracking and reviewing GitHub pull requests across multiple repositories. It lets you inspect dif… | 78 | 1122 | active |
| saecki/crates.nvim A Neovim plugin written in Lua that helps manage crates.io dependencies in Rust projects' Cargo.toml files. It provides completion, version… | 72 | 1121 | active |
| google/vim-codefmt A Vim plugin by Google that provides syntax-aware code formatting inside the editor, with built-in support for many external formatters lik… | 32 | 1118 | active |
| dgutov/diff-hl An Emacs minor mode that highlights uncommitted changes in the window fringe or margin, with commands to jump between and selectively rever… | 76 | 1116 | stable |
| chdsbd/kodiak Kodiak is a GitHub bot that automatically updates and merges pull requests based on a .kodiak.toml configuration file. It keeps branches up… | 86 | 1115 | active |
| manaflow-ai/manaflow Manaflow is an open-source application for orchestrating multiple AI coding agent CLIs (Claude Code, Codex CLI, Gemini CLI, Cursor CLI, etc… | 69 | 1115 | active |
| js-git JS-Git is a collection of JavaScript modules implementing Git's core functionality, letting applications create, read, and manipulate Git r… | 68 | 3845 | maintenance |
| codestable/CodeStable CodeStable is a set of lightweight skill contracts (installed as Codex/Claude plugins) that structure AI-assisted coding around requirement… | 74 | 1111 | active |
| codemod/codemod Codemod is an open-source CLI and workflow engine for scaffolding, testing, running, and publishing codemods—automated, multi-step code tra… | 88 | 1110 | active |
| f-person/git-blame.nvim A Neovim plugin written in Lua that displays git blame information as virtual text in the editor. It shows commit author, date, and summary… | 51 | 1107 | active |
| oligot/go-mod-upgrade A command-line tool that interactively updates outdated Go module dependencies, similar to yarn upgrade-interactive but for Go. It lists av… | 65 | 1106 | active |
| AgentsMesh/Pivo Pivo is a task-focused desktop programming environment built with Tauri, React, and Rust that combines Git project management, kanban task … | 33 | 1105 | active |
| SonarOpenCommunity/sonar-cxx A SonarQube community plugin that adds C and C++ support to SonarQube, focusing on integrating existing C++ analysis tools. It parses C/C++… | 82 | 1098 | active |
| python-versioneer/python-versioneer Versioneer is a Python tool that manages version strings for setuptools-based projects by deriving them automatically from version-control … | 57 | 1092 | stable |
| NARKOZ/gitlab A Ruby gem providing a client wrapper and CLI for the GitLab REST API, covering 60+ API modules with authentication, pagination, and object… | 69 | 1085 | active |
| arialdomartini/oh-my-git An opinionated git prompt for bash and zsh that shows rich repository status information (branch, tracking, stash, tags, rebase state) dire… | 23 | 3719 | maintenance |
| Lightricks/Kintsugi Kintsugi is a Ruby CLI tool that automatically resolves Git merge conflicts in Xcode project (.pbxproj) files. It works as a standalone com… | 84 | 1071 | active |
| marcus/nightshift Nightshift is a Go CLI tool that runs overnight, using your leftover Claude or Codex token budget to automatically find issues like dead co… | 70 | 1071 | active |
| cheshirekow/cmake_format cmake_format is a source code formatter for CMake listfiles, written in Python. It parses CMake files and reformats them with consistent la… | 23 | 1071 | active |
| treefmt treefmt is a CLI tool that unifies running multiple code formatters across a polyglot repository with a single command. It runs formatters … | 91 | 1068 | active |
| python-semantic-release/python-semantic-release A Python CLI tool that automates semantic version bumping and releases based on commit message conventions. It can be run standalone or via… | 97 | 1065 | active |
| repository-settings/app A Probot-based GitHub App that syncs repository settings defined in a `.github/settings.yml` file to GitHub. It enables managing repository… | 96 | 1058 | active |
| palantir/policy-bot policy-bot is a GitHub App that enforces configurable approval policies on pull requests by reporting a status check. It supports complex r… | 95 | 1058 | active |
| artiebits/fake-git-history A Node.js command-line tool that generates fake Git commits to fill in GitHub or GitLab contribution graphs, making it appear the user has … | 52 | 1057 | active |
| johannesjo/parallel-code A free, open-source desktop app for running multiple AI coding agents (Claude Code, Codex CLI, Gemini CLI, Copilot CLI) in parallel, each i… | 83 | 1053 | active |
| fhefh2015/Fast-GitHub A browser extension that accelerates GitHub downloads and access for users in China by routing traffic through faster mirrors/proxies. It w… | 40 | 3589 | maintenance |
| microsoft/vscode-vsce @vscode/vsce is the official Visual Studio Code Extension Manager, a CLI tool for packaging, publishing, and managing VS Code extensions on… | 96 | 1049 | active |
| paulirish/git-recent A small shell-based git subcommand that interactively lists your most recent local git branches using fzf, letting you checkout with Enter … | 62 | 1047 | active |
| Thinkmill/manypkg Manypkg is a CLI linter for package. files across Yarn, npm, pnpm, Bun, and Lerna monorepos. It runs consistency checks and can automatical… | 72 | 1045 | active |
| blang/semver A Semantic Versioning (semver) library for Go that fully implements the semver 2.0.0 spec. It provides parsing, validation, comparison, ran… | 23 | 1045 | stable |
| villesau/ai-codereviewer A GitHub Action that uses OpenAI's GPT-4 API to automatically review pull requests and post intelligent feedback comments. It retrieves PR … | 21 | 1044 | active |
| forgefed/forgefed ForgeFed is an ActivityPub-based federation protocol specification for software forges, enabling interoperable repository hosting, issue tr… | 65 | 1039 | active |
| jmforsythe/Git-Heat-Map A tool that visualizes a git repository as an interactive SVG treemap, where file sizes reflect diff activity (lines added/removed). It par… | 32 | 1036 | active |
| tpope/vim-rhubarb A Vim plugin that extends tpope's fugitive.vim with GitHub integration. It enables :GBrowse to open GitHub URLs and provides omni-completio… | 41 | 1032 | stable |
| adamralph/minver MinVer is a minimalist .NET package that versions .NET SDK-style projects automatically using Git tags, applying SemVer 2.x versions to ass… | 76 | 1020 | active |
| google/go-licenses A Go CLI tool that analyzes a Go package's dependency tree and reports the licenses of all libraries used, with versioned URLs to each lice… | 71 | 1018 | active |
| ezyang/ghstack ghstack is a command-line tool that submits stacks of Git commits to GitHub as separate, dependent pull requests. It supports updating, reb… | 72 | 1016 | active |
| seachicken/gh-poi gh poi is a GitHub CLI extension that safely deletes local git branches whose pull requests have been merged, including squash-merged branc… | 94 | 1015 | active |
| mpoon/gpt-repository-loader A Python command-line tool that converts a Git repository's files and structure into a single text format suitable for feeding to LLMs. It … | 31 | 2972 | maintenance |
| erikbern/git-of-theseus A set of Python CLI scripts that analyze Git repository history to visualize how code grows over time. It produces stack plots of code coho… | 32 | 2969 | maintenance |
| git-learning-game/oh-my-git Oh My Git! is an open-source desktop game that teaches Git through interactive puzzles, visualizing the internal structures of Git reposito… | 53 | 2899 | maintenance |
| GitHawkApp/GitHawk GitHawk is a free, open-source iOS client for GitHub that lets users manage notifications, issues, and pull requests from their phone. It f… | 10 | 2885 | maintenance |
| karan/joe joe is a command-line tool that generates .gitignore files from GitHub's collection of gitignore templates. It supports multiple languages … | 23 | 2862 | maintenance |
| mhagger/git-imerge git-imerge is a Python CLI tool that performs Git merges and rebases incrementally, commit by commit. It isolates the smallest possible pai… | 23 | 2846 | maintenance |
| kemayo/sublime-text-git A Sublime Text plugin that integrates Git version control into the editor via the Command Palette. It works by shelling out to the system g… | 23 | 2813 | maintenance |
| src-d/hercules Hercules is a fast, customizable Git repository history analysis tool written in Go, with a companion Python package (labours) for visualiz… | 23 | 2810 | maintenance |
| jonan/ForkHub ForkHub is an open-source GitHub client for Android, forked from GitHub's abandoned official Android app and extended with improvements. It… | 23 | 2802 | maintenance |
| bobthecow/git-flow-completion Shell completion scripts for git-flow providing tab completion in Bash, Zsh, and fish. It completes git-flow subcommands, branch types, and… | 32 | 2792 | maintenance |
| arc90/git-sweep git-sweep is a Python command-line tool that identifies Git branches already merged into master and safely deletes them from the remote. It… | 32 | 2716 | maintenance |
| Code Maat Code Maat is a command line tool written in Clojure that mines and analyzes data from version-control systems to reveal technical, social, … | 32 | 2636 | maintenance |
| presslabs/gitfs gitfs is a FUSE-based file system that fully integrates with git, letting you mount a remote repository's branch locally. Changes made to f… | 54 | 2598 | maintenance |
| michaeldfallen/git-radar Git Radar is a shell prompt tool that displays at-a-glance git repository status—file changes, local/remote commits, and stashes—directly i… | 23 | 2575 | maintenance |
| github/VisualStudio The GitHub Extension for Visual Studio is a VSIX plugin that adds GitHub integration to Visual Studio 2015 and newer, living mostly in the … | 10 | 2520 | maintenance |
| mhutchie/vscode-git-graph A Visual Studio Code extension that renders an interactive Git commit graph for any repository. It lets users perform Git actions (branchin… | 23 | 2514 | maintenance |
| ejwa/gitinspector Gitinspector is a command-line statistical analysis tool for git repositories that reports per-author contribution statistics and optional … | 98 | 2512 | maintenance |
| techgaun/active-forks A web application that finds the most active forks of a GitHub repository using the GitHub API. It is hosted as a static site and can also … | 75 | 2426 | maintenance |
| Shougo/neobundle.vim NeoBundle is a Vim plugin manager built as a feature-rich successor to Vundle, allowing users to declare plugins in their .vimrc and instal… | 32 | 2280 | maintenance |
| jimeh/git-aware-prompt A small shell script project that displays the current Git branch name (and dirty state) in your terminal prompt when inside a Git working … | 32 | 2158 | maintenance |
| stephencelis/ghi ghi is a command-line tool for managing GitHub Issues directly from the terminal, letting users list, open, close, edit, comment on, and la… | 10 | 2119 | maintenance |
| Fakerr/git-recall git-recall is a shell-based interactive terminal tool for browsing git commit history, with filtering by author, date range, branch, and pa… | 23 | 2110 | maintenance |
| gitbase gitbase is a SQL database interface to Git repositories, written in Go, that lets users run SQL queries over git history and the Universal … | 23 | 2085 | maintenance |
| Xuyuanp/nerdtree-git-plugin A Vim plugin that extends the NERDTree file explorer with git status indicators, showing modified, staged, untracked, and other file states… | 10 | 2082 | maintenance |
| profclems/glab GLab is an open-source command-line tool for GitLab that lets users manage issues, merge requests, and pipelines from the terminal. It supp… | 10 | 2074 | maintenance |
| nadeesha/ts-prune ts-prune is a zero-configuration CLI tool that finds potentially unused exports in TypeScript projects. It is now in maintenance mode, with… | 66 | 2065 | maintenance |
| Mottie/GitHub-userscripts A collection of JavaScript userscripts that add extra functionality to GitHub, such as code folding, table of contents, diff filters, custo… | 32 | 2031 | maintenance |
| git-tfs/git-tfs git-tfs is a two-way bridge between Team Foundation Server (TFS/TFVC) and Git, similar to git-svn. It fetches TFS changesets into a local G… | 23 | 1998 | maintenance |
| thoughtbot/gitsh gitsh is an interactive shell for git that lets you run git commands without repeatedly typing 'git'. It supports aliases, tab completion, … | 23 | 1956 | maintenance |
| gitahead/gitahead GitAhead is a graphical Git client for Windows, Linux, and macOS built with C++ and Qt, designed to help users visualize and understand the… | 67 | 1954 | maintenance |
| gitless-vcs/gitless Gitless is a version control system built on top of Git that offers a simplified, beginner-friendly command-line interface. It is fully Git… | 23 | 1951 | maintenance |
| pacifio/atlas Atlas is a native macOS workspace and source-control layer for coding agents, linking every commit to the agent session, prompts, tool call… | 81 | 9556 | experimental |
| observing/pre-commit An npm package that automatically installs a git pre-commit hook into your repository, running your npm test or other package. scripts befo… | 55 | 1883 | maintenance |
| isacikgoz/gitin gitin is a minimalist command-line explorer for git repositories, providing interactive views of commits, branches, and working-tree status… | 86 | 1866 | maintenance |
| nmattia/niv niv is a command-line tool for managing dependencies in Nix projects. It stores package sources in a single nix/sources. file and provides … | 75 | 1861 | maintenance |
| mkchoi212/fac fac is a terminal-based (CUI) interactive tool for resolving git merge conflicts, similar to git add -p but with a guided keybinding-driven… | 23 | 1853 | maintenance |
| jakubgarfield/Bonobo-Git-Server Bonobo Git Server is a free, open-source ASP.NET web application for hosting and managing Git repositories on Windows via IIS. It provides … | 32 | 1838 | maintenance |