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 |
|---|---|---|---|
| Horcrux Lazygit is a terminal UI for git commands, letting users manage commits, branches, stashes, and rebases through an interactive interface. I… | 100 | 83259 | stable |
| git/git Git is the fast, scalable, distributed revision control system originally written by Linus Torvalds, implemented in C with a rich command s… | 77 | 63866 | stable |
| Aider Aider is an open-source CLI tool that lets developers pair program with LLMs (Claude, GPT-4o, DeepSeek, Gemini, local models) directly in t… | 66 | 49387 | active |
| Gogs Gogs is a self-hosted Git service written in Go, distributed as a single binary that runs on virtually any platform including ARM devices l… | 90 | 47865 | stable |
| Gogs Gogs is a painless self‑hosted Git service written in Go that provides a full web UI, SSH/HTTP access, and API for managing repositories, u… | 90 | 47865 | active |
| cli/cli GitHub CLI (gh) is an open‑source command‑line tool that brings GitHub features such as pull requests, issues, releases and repository mana… | 94 | 46644 | active |
| junegunn/vim-plug vim-plug is a minimalist, single-file plugin manager for Vim and Neovim with over ten years of history. It offers fast parallel installatio… | 68 | 35770 | stable |
| typicode/husky Husky is a lightweight npm package that makes managing native Git hooks easy, using Git's core.hooksPath feature. It lets teams automatical… | 52 | 35336 | stable |
| github/github-mcp-server GitHub's official Model Context Protocol (MCP) server that connects AI tools like Claude, Cursor, and VS Code directly to GitHub's platform… | 83 | 33620 | active |
| openai/codex-plugin-cc An official OpenAI plugin that integrates Codex into Claude Code, providing slash commands for AI-powered code review and background task d… | 70 | 33519 | active |
| delta Delta is a fast, syntax‑highlighting pager for Git, diff, grep, ripgrep and blame output. It replaces the default Git pager to provide colo… | 99 | 32478 | active |
| delta Delta is a syntax-highlighting pager for git, diff, grep, ripgrep --json, and git blame output, written in Rust. It offers side-by-side vie… | 99 | 32478 | active |
| Refined GitHub Refined GitHub is a browser extension that simplifies the GitHub interface and adds many quality-of-life features. It supports Chrome, Fire… | 96 | 32220 | active |
| jj-vcs/jj Jujutsu (jj) is a Git-compatible version control system written in Rust with a simple, powerful command-line interface. It uses Git reposit… | 99 | 32129 | active |
| Composer Composer is the standard dependency manager for PHP, letting developers declare, resolve, and install project libraries from Packagist and … | 96 | 29548 | stable |
| TruffleHog TruffleHog is an open-source secrets scanning tool that discovers, classifies, validates, and analyzes leaked credentials across Git reposi… | 93 | 28212 | active |
| Wilfred/difftastic Difftastic is a structural diff CLI tool that compares files based on syntax parsed with tree-sitter, rather than line-by-line. It supports… | 93 | 25966 | active |
| Dolt Dolt is a version-controlled SQL database that lets you branch, merge, clone, push, and pull data like a Git repository. It exposes a MySQL… | 95 | 24652 | active |
| semantic-release/semantic-release semantic-release is a Node.js CLI tool that fully automates version management and package publishing. It determines the next semantic vers… | 94 | 24068 | stable |
| Renovate Renovate is a cross-platform CLI tool that automatically detects outdated dependencies in repositories and creates pull requests to update … | 96 | 22789 | active |
| gitui-org/gitui GitUI is a fast, keyboard-driven terminal user interface for git written in Rust. It offers GUI-like git workflows (staging, committing, st… | 77 | 22574 | active |
| desktop/desktop GitHub Desktop is an open-source Electron-based graphical Git client that simplifies Git workflows with visual diffs, branch management, an… | 98 | 21928 | active |
| gitbutlerapp/gitbutler GitButler is a modern Git-based version control client with a desktop GUI and a CLI, built with Tauri, Rust, and Svelte. It offers stacked … | 92 | 21819 | active |
| git-tips/tips A curated collection of commonly used Git tips and tricks, available as a searchable markdown repository and an optional CLI utility. It pr… | 76 | 21722 | active |
| tj/n n is a simple BASH script for managing and switching between Node.js versions on macOS, Linux, and other unix-like systems. It installs, se… | 64 | 19512 | stable |
| Conventional Changelog commitlint is a CLI tool and library that lints git commit messages against the conventional commit format, with shareable npm-based config… | 99 | 18776 | active |
| tj/git-extras Git Extras is a collection of shell-based Git utility commands that extend Git with shortcuts like repo summaries, changelog generation, au… | 78 | 18118 | active |
| so-fancy/diff-so-fancy diff-so-fancy is a command-line utility that reformats git and unified diff output to be human-readable instead of machine-readable. It wor… | 95 | 18099 | stable |
| Commitizen Commitizen is a Node.js command-line tool that replaces `git commit` with an interactive prompt (`git cz` or `cz`) that guides contributors… | 80 | 17495 | stable |
| lowlighter/metrics A metrics/infographics generator that collects stats about GitHub users, organizations, and repositories using 30+ plugins and hundreds of … | 57 | 17307 | active |
| gitmoji Gitmoji is a standardized guide and cheatsheet for using emojis in Git commit messages to convey the intent of each change at a glance. It … | 67 | 16804 | stable |
| ast-grep ast-grep is a fast Rust-based CLI tool for structural search, linting, and rewriting of code using AST patterns instead of plain text match… | 99 | 16189 | active |
| pre-commit pre-commit is a framework for managing and maintaining multi-language Git pre-commit hooks. It automatically installs and runs hooks writte… | 88 | 15593 | stable |
| rust-lang/cargo Cargo is the official package manager and build tool for the Rust language. It downloads dependencies, compiles projects, runs tests, creat… | 76 | 15561 | stable |
| theonedev/onedev OneDev is a self-hosted, unified DevOps platform combining Git server, issue tracking with Kanban boards, pull request review, CI/CD pipeli… | 95 | 15314 | active |
| lint-staged/lint-staged lint-staged is an npm CLI tool that runs arbitrary shell tasks, such as formatters and linters, against only the files staged in git. It is… | 97 | 14741 | stable |
| git-lfs/git-lfs Git Large File Storage (Git LFS) is a command-line extension and specification for Git that replaces large files like audio, video, dataset… | 87 | 14547 | stable |
| github-linguist/linguist Linguist is the Ruby library GitHub uses to detect file languages, ignore binary/vendored files, suppress generated files in diffs, and pro… | 93 | 13734 | active |
| The-PR-Agent/pr-agent PR-Agent is an open-source, AI-powered code review agent that automatically reviews pull requests, generates descriptions, suggests improve… | 97 | 13427 | active |
| awslabs/git-secrets git-secrets is a command-line tool that scans git commits, commit messages, and merge histories for secrets and credentials, rejecting comm… | 48 | 13411 | stable |
| jonas/tig Tig is an ncurses-based text-mode interface for Git, functioning mainly as a Git repository browser. It also assists in staging changes for… | 82 | 13368 | stable |
| Untrivial-ai/agent-orchestrator Agent Orchestrator (AO) is a local desktop IDE for supervising fleets of AI coding agents like Claude Code, Codex, and Aider. It plans task… | 79 | 13330 | active |
| newren/git-filter-repo git-filter-repo is a fast, versatile tool for rewriting Git repository history, recommended by the Git project as a replacement for git fil… | 60 | 13318 | stable |
| acaudwell/Gource Gource is an OpenGL-based visualization tool that renders version control repository history as an animated tree, with directories as branc… | 60 | 13161 | active |
| dlvhdr/gh-dash gh-dash is a GitHub CLI extension providing a rich terminal UI for managing GitHub pull requests and issues. It offers custom filterable se… | 99 | 12616 | active |
| Changesets Changesets is a CLI tool and workflow for managing package versioning and changelog generation, with first-class monorepo support. Contribu… | 93 | 12477 | active |
| git-cliff git-cliff is a highly customizable changelog generator written in Rust that creates changelog files from Git history using Conventional Com… | 92 | 12262 | stable |
| rtyley/bfg-repo-cleaner BFG Repo-Cleaner is a command-line tool for removing large files, passwords, credentials, and other unwanted data from Git repository histo… | 23 | 12190 | active |
| git-up/GitUp GitUp is a native macOS Git client that visualizes the repository as a live interactive graph and lets users manipulate commits, branches, … | 83 | 12136 | active |
| o2sh/onefetch Onefetch is a command-line tool that displays project information and code statistics for a local Git repository directly in your terminal,… | 95 | 12064 | active |
| Obsidian Git A community plugin for Obsidian.md that integrates Git version control directly into the vault, with automatic commit-and-sync, source cont… | 98 | 12062 | active |
| GitoxideLabs/gitoxide Gitoxide is a pure Rust implementation of Git, usable as the `gix` library crate for building Git-powered applications or as `gix`/`ein` co… | 95 | 12018 | active |
| openchamber/openchamber OpenChamber is an open-source agentic development environment providing a visual workspace (desktop app, web/PWA, and VS Code extension) fo… | 81 | 11812 | active |
| google/go-github go-github is a Go client library for accessing the GitHub REST API v3, maintained by Google. It provides typed services for repositories, i… | 98 | 11320 | stable |
| github/copilot-cli GitHub Copilot CLI brings the Copilot coding agent to the terminal, letting developers build, debug, and refactor code through natural lang… | 95 | 11253 | active |
| langchain-ai/open-swe Open SWE is an open-source framework from LangChain for building an organization's internal asynchronous coding agent, built on LangGraph a… | 87 | 11049 | active |
| git-bug/git-bug git-bug is a distributed, offline-first bug and issue tracker that embeds issues, comments, and identities as objects inside a git reposito… | 98 | 10765 | active |
| libgit2 libgit2 is a portable, pure C implementation of Git's core methods provided as a re-entrant linkable library with a solid API. It can be em… | 96 | 10629 | stable |
| FredrikNoren/ungit Ungit is a web-based graphical user interface for git that makes the version control system easier to understand and use. It runs as a Node… | 84 | 10608 | active |
| raineorshine/npm-check-updates npm-check-updates (ncu) is a CLI tool and library that upgrades package.json dependencies to their latest versions while preserving semanti… | 95 | 10318 | active |
| swiftlang/swift-package-manager The official package manager for the Swift programming language, handling dependency resolution, versioning, compilation, and linking of Sw… | 97 | 10226 | stable |
| CodeQL CodeQL is a semantic code analysis engine that treats code as a queryable database, letting you write queries to find security vulnerabilit… | 77 | 10201 | active |
| npm CLI npm is the default package manager for Node.js and JavaScript, used to install, publish, and manage project dependencies from the npm regis… | 93 | 10131 | active |
| gitkraken/vscode-gitlens GitLens is an open-source VS Code extension that supercharges Git with blame annotations, CodeLens, an interactive Commit Graph, rich histo… | 99 | 9943 | active |
| AGWA/git-crypt git-crypt is a command-line tool that provides transparent encryption and decryption of selected files in a git repository. It lets teams s… | 39 | 9943 | active |
| reviewdog/reviewdog reviewdog is an automated code review CLI that integrates with any linter or static analysis tool regardless of programming language. It pa… | 87 | 9668 | active |
| modem-dev/hunk Hunk is a review-first terminal diff viewer (TUI) for reviewing complete changesets from Git, Jujutsu, and Sapling, with syntax highlightin… | 82 | 9625 | active |
| backnotprop/plannotator Plannotator is a local, browser-based review tool for AI coding agents like Claude Code, Codex, and Gemini CLI. It hooks into the agent's p… | 80 | 9548 | active |
| Claude Code Action A GitHub Action that runs Claude Code on pull requests and issues, answering questions, reviewing code, and implementing changes triggered … | 82 | 9434 | active |
| GitBucket GitBucket is a self-hosted Git web platform written in Scala that provides repositories, issues, pull requests, wikis, and GitHub API compa… | 94 | 9403 | active |
| git-ecosystem/git-credential-manager Git Credential Manager is a secure, cross-platform Git credential helper built on .NET that stores credentials in the OS-native secure stor… | 95 | 9368 | active |
| max-sixty/worktrunk Worktrunk is a Rust CLI that simplifies Git worktree management, making worktrees as easy to use as branches. It is designed for running mu… | 81 | 9341 | active |
| shadcn/improve An agent skill that audits a codebase using a capable LLM and writes self-contained markdown implementation plans for cheaper models to exe… | 56 | 9187 | active |
| Nutlope/aicommits Aicommits is a Node.js CLI that automatically generates git commit messages from your staged changes using AI. It supports multiple LLM pro… | 94 | 9100 | active |
| release-it Release It! is a generic CLI tool that automates versioning and package publishing tasks such as bumping versions, creating Git commits/tag… | 96 | 9064 | active |
| kunchenguid/no-mistakes A local git proxy CLI that intercepts pushes and runs an AI-driven validation pipeline (review, tests, docs, lint) in a disposable worktree… | 81 | 8918 | active |
| evilmartians/lefthook Lefthook is a fast, dependency-free Git hooks manager written in Go that works with any type of project (Node.js, Ruby, Python, Go, Swift, … | 95 | 8898 | stable |
| toptal/gitignore.io gitignore.io is a web service and API that generates useful .gitignore files for Git repositories based on operating system, programming la… | 32 | 8750 | active |
| prek prek is a fast Git hook manager written in Rust that runs hooks on your code before commits, on demand, or in CI, managing the tools and de… | 86 | 8644 | active |
| sitaramc/gitolite Gitolite is a self-hosted Git repository hosting tool for Unix servers that provides fine-grained, file-based access control over repositor… | 72 | 8595 | stable |
| gitextensions/gitextensions Git Extensions is a standalone Windows GUI application for managing Git repositories, offering a rich interface with commit graph, file his… | 92 | 8593 | active |
| smtg-ai/claude-squad Claude Squad is a terminal application that manages multiple AI coding agents (Claude Code, Codex, Gemini, Aider, etc.) in isolated git wor… | 81 | 8543 | active |
| Conventional Changelog A family of Node.js tools that generate CHANGELOG.md files and release notes from git commit history following conventions like Conventiona… | 95 | 8519 | active |
| dahlbyk/posh-git posh-git is a PowerShell module that integrates Git into the PowerShell prompt, showing branch and file status summary information. It also… | 23 | 8272 | stable |
| nilbuild/git-standup git-standup is a command-line tool that summarizes Git commits from the last working day across one or many repositories, helping developer… | 33 | 7857 | stable |
| go-git/go-git go-git is a highly extensible Git implementation written in pure Go, exposing both low-level (plumbing) and high-level (porcelain) operatio… | 99 | 7798 | active |
| sindresorhus/np np is an interactive CLI tool that improves the npm publish workflow for JavaScript packages. It automates safety checks, version bumping, … | 95 | 7713 | active |
| Release Please Release Please is a tool by Google that automates changelog generation, GitHub releases, and version bumps by parsing Conventional Commit m… | 96 | 7630 | active |
| di-sukharev/opencommit OpenCommit is a CLI tool that uses LLMs (OpenAI, Claude, Ollama, and other providers) to automatically generate meaningful git commit messa… | 66 | 7545 | active |
| github-changelog-generator/github-changelog-generator A Ruby gem and CLI tool that automatically generates a CHANGELOG.md file from GitHub tags, issues, labels, and merged pull requests. It gro… | 73 | 7537 | active |
| phar-io/version A PHP library for parsing, comparing, and checking semantic version numbers and version constraints such as caret and tilde ranges. It supp… | 57 | 7462 | stable |
| jupytext/jupytext Jupytext is a Python package and Jupyter extension that converts Jupyter notebooks two-way between .ipynb and plain-text formats such as Ma… | 95 | 7269 | active |
| Soft Serve Soft Serve is a self-hostable Git server that runs as a single Go binary and is managed entirely from the command line. It serves repositor… | 98 | 7253 | active |
| magit/magit Magit is a complete text-based Git interface implemented as an Emacs package, often called a Git porcelain. It makes every piece of display… | 98 | 7239 | stable |
| sverweij/dependency-cruiser A CLI tool that analyzes and validates dependencies in JavaScript, TypeScript, LiveScript, and CoffeeScript projects against user-defined r… | 97 | 7237 | active |
| wei/pull Pull is a GitHub App (built with Probot) that keeps GitHub forks up-to-date with their upstream repositories by automatically creating pull… | 61 | 7231 | active |
| facebook/sapling Sapling SCM is a cross-platform, Git-compatible source control system from Meta, built in Rust, comprising the `sl` CLI, the Mononoke serve… | 95 | 7181 | active |
| DenverCoder1/github-readme-streak-stats A PHP-based service that generates SVG cards showing GitHub contribution streaks (total contributions, current streak, longest streak) for … | 89 | 7165 | active |
| lewis6991/gitsigns.nvim A Neovim plugin written in Lua that provides deep Git integration for buffers, showing signs for added, changed, and deleted lines in the s… | 84 | 7145 | stable |
| git-quick-stats/git-quick-stats A command-line tool written in Bash that extracts various statistics from git repositories, such as commits, contributors, and file activit… | 77 | 7009 | stable |
page 1 / 7 next →