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 |
|---|---|---|---|
| magicmonty/bash-git-prompt An informative bash (and fish) prompt that displays git repository status inline, including branch name, ahead/behind counts, staged/change… | 66 | 6938 | active |
| IonicaBizau/git-stats git-stats is a Node.js command-line tool that computes local git statistics and renders GitHub-like contributions calendars in the terminal… | 56 | 6599 | active |
| yadm-dev/yadm yadm is a Git-based command-line tool for managing dotfiles, keeping configuration files in place in $HOME while tracking them in a single … | 63 | 6438 | stable |
| Gitleaks Gitleaks is an open-source CLI tool for detecting secrets like passwords, API keys, and tokens in git repositories, files, directories, and… | 87 | 29941 | maintenance |
| anthropics/claude-code-security-review A GitHub Action that uses Anthropic's Claude to perform AI-powered security reviews of pull requests, analyzing code diffs for vulnerabilit… | 45 | 6319 | active |
| pierrecomputer/pierre The open-source repository of Pierre Computer Company, a software company building low-level composable product infrastructure for machine … | 81 | 6277 | active |
| sourcegit-scm/sourcegit SourceGit is a free, open-source cross-platform GUI client for Git built in C#. It provides visual commit graphs and full Git command cover… | 93 | 6053 | active |
| NirmalScaria/le-git-graph A browser extension that adds a visual git commit graph to the GitHub website via a new 'Commits' tab. It authenticates with GitHub OAuth a… | 62 | 5867 | active |
| sindrets/diffview.nvim A Neovim plugin providing a single-tabpage interface for cycling through diffs of all modified files for any git revision. It also includes… | 32 | 5830 | stable |
| Dependabot Dependabot-Core is the Ruby library powering GitHub's Dependabot automated dependency updates. It resolves and updates dependencies across … | 96 | 5807 | active |
| nvie/gitflow Git extensions implementing Vincent Driessen's git-flow branching model as high-level repository operations. Written in Shell, it automates… | 10 | 26782 | maintenance |
| tummychow/git-absorb git-absorb is a Rust CLI tool that automatically creates git fixup! commits by matching uncommitted changes to the ancestor commits that la… | 64 | 5734 | active |
| Danger Danger is a Ruby-based tool that runs during CI to automate code review chores, letting teams codify pull request etiquette rules like enfo… | 90 | 5695 | stable |
| diffplug/spotless Spotless is a code formatting plugin for Gradle, Maven, and SBT that checks and automatically fixes formatting violations across many langu… | 95 | 5686 | stable |
| NeogitOrg/neogit Neogit is an interactive Git interface for Neovim, inspired by Emacs' Magit, implemented in Lua. It provides a Magit-style status buffer an… | 64 | 5631 | active |
| npm/node-semver The semantic versioning (semver) parser and comparison library used by npm itself, implemented in JavaScript for Node.js. It parses, valida… | 91 | 5466 | stable |
| braedonsaunders/codeflow CodeFlow is a browser-based tool that turns any GitHub repository URL (or local files) into an interactive architecture map showing how fil… | 60 | 5399 | active |
| gitify-app/gitify Gitify is a free, open-source cross-platform desktop application that shows Git forge notifications (GitHub, GitHub Enterprise, GitLab, Git… | 99 | 5374 | active |
| RVM RVM (Ruby enVironment Manager) is a command-line tool for installing, managing, and switching between multiple Ruby interpreters and gem en… | 66 | 5188 | active |
| Entire Entire CLI is a Go-based command-line tool that hooks into your Git workflow to capture AI coding agent sessions (prompts, responses, tool … | 83 | 5174 | active |
| ovity/octotree Octotree is a browser extension that enhances GitHub by adding a code file tree sidebar for easier code exploration and review. This reposi… | 32 | 23257 | maintenance |
| Horcrux Lazygit is a simple terminal UI for Git commands written in Go. It provides an interactive, keyboard‑driven interface to view status, stage… | 23 | 5105 | active |
| mislav/hub hub is a command-line tool that wraps git to add GitHub-specific features like cloning, creating repositories, forking, and submitting pull… | 23 | 22953 | maintenance |
| wfxr/forgit forgit is a shell-based utility that wraps common git commands with interactive fzf-powered fuzzy selection. It provides shortcuts like int… | 98 | 5086 | active |
| unhappychoice/gitlogue gitlogue is a terminal-based tool that replays Git commit history as cinematic typing animations with syntax highlighting and file tree tra… | 81 | 5065 | active |
| oracle/opengrok OpenGrok is a fast source code search and cross-reference engine written in Java that indexes source trees and version control histories. I… | 96 | 4958 | stable |
| lolcommits/lolcommits lolcommits is a Ruby CLI tool that automatically captures a webcam snapshot every time you make a git commit, archiving a lolcat-style self… | 76 | 4822 | active |
| initialcommit-com/git-sim git-sim is a Python CLI tool that visually simulates Git operations in your own repositories, generating an image or animated video of what… | 88 | 4687 | active |
| detect-secrets detect-secrets is a Python CLI tool from Yelp that detects secrets (API keys, passwords, tokens) in codebases using regex and entropy heuri… | 53 | 4649 | active |
| leonhartX/gas-github A Chrome extension that lets you manage Google Apps Script (GAS) code with GitHub, GitHub Enterprise, Bitbucket, or GitLab directly from th… | 24 | 4594 | active |
| Octobox Octobox is a web application that helps developers manage and triage GitHub notifications with an inbox-style interface, adding an archived… | 96 | 4484 | active |
| anc95/ChatGPT-CodeReview A GitHub App and GitHub Action that automatically reviews pull requests using ChatGPT/OpenAI models, posting AI-generated review comments o… | 89 | 4466 | active |
| tkellogg/dura Dura is a Rust background daemon that watches Git repositories and automatically commits uncommitted changes to shadow branches without tou… | 52 | 4432 | active |
| jeffkaufman/icdiff icdiff is a Python command-line tool that shows side-by-side, color-highlighted diffs between files. It complements standard diff by making… | 58 | 4390 | stable |
| QasimWani/LeetHub LeetHub is a browser extension that automatically pushes your LeetCode solutions to GitHub whenever you pass all tests on a problem. It sup… | 68 | 4353 | active |
| phpro/grumphp GrumPHP is a PHP code-quality tool implemented as a Composer plugin that registers git hooks in your repository. When a developer commits c… | 89 | 4316 | active |
| crate-ci/typos typos is a fast source code spell checker written in Rust that finds and corrects spelling mistakes in codebases. It is designed for low fa… | 94 | 4182 | active |
| cpm-cmake/CPM.cmake CPM.cmake is a small CMake script that adds setup-free, cross-platform dependency management to CMake projects. It wraps CMake's FetchConte… | 93 | 4137 | active |
| arxanas/git-branchless git-branchless is a suite of Rust-based tools that enhances Git with a branchless, commit-graph-centric workflow. It provides commands like… | 91 | 4133 | active |
| ben-manes/gradle-versions-plugin A Gradle plugin that reports which of a build's dependencies, plugins, and Gradle itself have newer versions available. It provides a `depe… | 98 | 4092 | stable |
| github/git-sizer git-sizer is a Go CLI tool that computes size metrics for a local Git repository and flags issues like oversized blobs, too many references… | 67 | 4081 | active |
| sobolevn/git-secret git-secret is a bash-based command-line tool that encrypts private files with GPG public keys and stores them safely inside a git repositor… | 66 | 4048 | active |
| sds/overcommit Overcommit is a fully configurable and extendable Git hook manager written in Ruby. It supports a wide variety of built-in hooks, repo-spec… | 90 | 4004 | active |
| anmol098/waka-readme-stats A GitHub Action that automatically adds coding statistics (from WakaTime and GitHub commits) to your GitHub profile README. It displays met… | 73 | 3998 | active |
| ruby/rubygems RubyGems is the package management framework for Ruby, providing the `gem` command to install, create, manage, and load gems (Ruby packages… | 94 | 3976 | stable |
| octokit/octokit.rb Octokit.rb is a Ruby client library for the GitHub REST API, wrapping endpoints in idiomatic Ruby methods. It supports authentication (basi… | 66 | 3951 | stable |
| release-drafter/release-drafter Release Drafter is a GitHub Action, GitHub App, and Node.js CLI that automatically drafts release notes as pull requests are merged into yo… | 99 | 3948 | active |
| google/copybara Copybara is a Java-based command-line tool from Google that transforms and moves code between repositories, keeping a confidential and a pu… | 95 | 3883 | active |
| jisaacks/GitGutter GitGutter is a Sublime Text plugin that displays git diff information in the editor gutter, showing inserted, modified, and deleted lines v… | 65 | 3878 | stable |
| steveukx/git-js simple-git is a lightweight Node.js/TypeScript library that provides a promise-based interface for running git commands from any Node.js ap… | 97 | 3860 | stable |
| pantsbuild/pants Pants is a fast, scalable build system and developer workflow tool designed especially for monorepos containing multiple projects and langu… | 97 | 3844 | active |
| robotze/GithubDesktopZhTool A localization tool that translates the GitHub Desktop client interface into Chinese on Windows, Mac, and Linux. It patches the app's resou… | 97 | 3808 | active |
| OpenRewrite OpenRewrite is an open-source automated refactoring ecosystem that parses source code into Lossless Semantic Trees and applies prepackaged … | 95 | 3790 | active |
| vercel/release Release is a command-line tool by Vercel that automatically creates GitHub Releases populated with commits made since the last release. It … | 57 | 3584 | stable |
| jstrieb/github-stats A tool that generates GitHub profile and repository statistics visualizations as SVG images using GitHub Actions, including data from priva… | 91 | 3561 | active |
| Commitizen Commitizen is a Python CLI tool that enforces standardized commit messages (Conventional Commits by default) and automates semantic version… | 94 | 3526 | active |
| MergeStat mergestat-lite is a Go-based command-line tool that lets you run SQL queries against git repositories and related data sources like the Git… | 65 | 3519 | stable |
| AmrDeveloper/GQL GitQL is a SQL-like query language with an in-memory query engine, implemented in Rust, that executes queries directly on .git files withou… | 72 | 3512 | active |
| killercup/cargo-edit cargo-edit is a Rust CLI tool extending Cargo with subcommands to modify Cargo.toml, such as upgrading dependency versions. Several of its … | 84 | 3462 | active |
| paulirish/git-open git-open is a small shell script that adds a `git open` subcommand to open the repository's website (GitHub, GitLab, Bitbucket, and others)… | 57 | 3460 | active |
| diff2html diff2html is a JavaScript/TypeScript library that parses git or unified diff output and generates pretty, GitHub-style HTML diffs with line… | 61 | 3414 | active |
| Ataraxy-Labs/sem sem is a semantic version control CLI built on top of Git that parses code with tree-sitter and diffs, blames, and analyzes impact at the e… | 78 | 3400 | active |
| pwntester/octo.nvim A Neovim plugin that lets users edit and review GitHub issues, pull requests, and discussions directly from the editor as regular buffers. … | 74 | 3386 | active |
| git-town/git-town Git Town is a high-level command-line tool that adds Git commands for automating the creation, syncing, shipping, and cleanup of feature br… | 98 | 3385 | active |
| thomiceli/opengist Opengist is a self-hosted, open-source pastebin alternative to GitHub Gist, written in Go, where every snippet is stored as a Git repositor… | 92 | 3367 | active |
| tschaub/gh-pages A Node.js library that publishes files to a gh-pages branch on GitHub (or any branch on any remote) by cloning, committing, and pushing aut… | 52 | 3344 | stable |
| afragen/git-updater A WordPress plugin that enables automatic updates for plugins and themes hosted on GitHub, Bitbucket, GitLab, Gitea, and Gist, including la… | 96 | 3319 | active |
| agavra/tuicr tuicr is a terminal UI application for code review with vim keybindings, written in Rust. It shows GitHub-style continuous diffs, supports … | 81 | 3294 | active |
| pomber/git-history A web tool that lets you quickly browse the commit history of any file in a GitHub, GitLab, or Bitbucket repository by swapping the domain … | 32 | 13684 | maintenance |
| yoshiko-pg/difit difit is a lightweight CLI tool that spins up a local web server to display Git commit diffs in a GitHub-like Files changed view. It suppor… | 76 | 3224 | active |
| qltysh/qlty Qlty CLI is a multi-language code quality tool written in Rust that unifies linting, auto-formatting, maintainability analysis, and securit… | 95 | 3194 | active |
| Ocramius/PackageVersions A Composer plugin for PHP that provides fast, zero-IO access to the installed version numbers of Composer dependencies. It compiles package… | 79 | 3169 | stable |
| GitVersion GitVersion is a tool that calculates a Semantic Version (SemVer) number for a commit by analyzing a repository's Git history and branching … | 94 | 3149 | stable |
| anishathalye/git-remote-dropbox A Git remote helper that lets you use a Dropbox folder or shared folder as a true Git remote, maintaining atomicity and concurrency guarant… | 69 | 3135 | stable |
| radian-software/straight.el straight.el is a purely functional package manager for Emacs that installs packages directly from version-controlled sources with fully rep… | 75 | 3030 | active |
| tox-dev/pipdeptree pipdeptree is a command line utility that displays the dependency tree of installed Python packages, showing parent-child relationships tha… | 100 | 3028 | active |
| vitalets/github-trending-repos A GitHub-based service that tracks trending repositories per programming language and delivers updates via native GitHub notifications. A s… | 52 | 3013 | active |
| klaussilveira/gitlist GitList is a self-hosted PHP web application for browsing multiple git repositories through a browser. Built on Symfony and Twig, it shows … | 95 | 2949 | active |
| altsem/gitu Gitu is a terminal user interface (TUI) Git client written in Rust, inspired by Emacs' Magit. It provides keyboard-driven Git porcelain fea… | 88 | 2929 | active |
| gharlan/alfred-github-workflow An Alfred workflow for macOS that lets users quickly search GitHub and GitHub Enterprise (cloud or self-hosted) repositories, users, issues… | 80 | 2916 | active |
| scmbreeze/scm_breeze SCM Breeze is a set of bash and zsh shell scripts that enhance git workflows with numbered file shortcuts, keyboard bindings, and a reposit… | 71 | 2912 | active |
| jnsahaj/lumen Lumen is a fast terminal-based git diff viewer and code review TUI written in Rust, shipped as a single static binary. It offers side-by-si… | 83 | 2894 | active |
| justjanne/powerline-go powerline-go is a fast, low-latency Powerline-style shell prompt written in Go, supporting Bash, ZSH, Fish, and PowerShell. It displays git… | 70 | 2891 | stable |
| jayphelps/git-blame-someone-else A joke shell script that rewrites git commit authorship so blame falls on someone else. It's a novelty tool not intended for production rep… | 32 | 11718 | maintenance |
| moovweb/gvm GVM (Go Version Manager) is a shell-based tool for installing, switching between, and managing multiple versions of the Go programming lang… | 32 | 11694 | maintenance |
| mc1arke/sonarqube-community-branch-plugin A community plugin for SonarQube Community Edition that enables branch analysis and pull request decoration, features normally reserved for… | 89 | 2863 | active |
| octokit/octokit.net Octokit.net is a GitHub API client library for .NET Framework 4.6+ and .NET Standard 2.0+. It provides typed, async access to GitHub's REST… | 65 | 2862 | active |
| peter-evans/create-pull-request A GitHub Action that automatically creates or updates a pull request for changes made to the repository during a workflow run. It commits w… | 87 | 2849 | active |
| jupyter/nbdime nbdime provides tools for diffing and merging Jupyter notebooks, with terminal commands (nbdiff, nbmerge, nbshow) and rich web-based diff/m… | 77 | 2845 | active |
| git-ai-project/git-ai Git AI is an open-source Git extension written in Rust that tracks AI-generated code in repositories, linking every AI-written line to the … | 80 | 2843 | active |
| JetpackDuba/Gitnuro Gitnuro is a free, open-source, multiplatform Git GUI client built with Kotlin, Jetbrains Compose, and JGit. It runs natively on Linux, Win… | 75 | 2807 | active |
| rubysec/bundler-audit bundler-audit is a command-line tool that audits a Ruby project's Gemfile.lock for gems with known vulnerabilities using the ruby-advisory-… | 70 | 2760 | active |
| PGYER/codefever CodeFever Community Edition is a completely free and open-source self-hosted Git code hosting service with a web interface for repositories… | 32 | 2755 | active |
| banga/git-split-diffs A terminal pager that renders git diffs as GitHub-style side-by-side (split) diffs with syntax highlighting powered by Shiki. It is configu… | 67 | 2743 | active |
| mhinz/vim-signify A Vim/Neovim plugin that displays added, modified, and removed lines in the sign column for files managed by a version control system. It s… | 61 | 2727 | stable |
| PatrickF1/fzf.fish A Fish shell plugin that integrates fzf fuzzy searching into the command line with mnemonic key bindings. It provides interactive searches … | 68 | 2698 | active |
| GitAlias/gitalias A collection of Git alias settings provided as a shell configuration file that adds short aliases, command shortcuts, lookup helpers, and w… | 72 | 2692 | active |
| sinclairtarget/git-who git-who is a command-line tool that answers 'who wrote this code?' at the level of file trees and subsystems rather than individual lines, … | 65 | 2677 | active |
| Pronto Pronto is a Ruby gem that runs automated code review by analyzing only the changes in a diff rather than the whole codebase. It integrates … | 72 | 2672 | active |
| jitpack/jitpack.io JitPack is a package repository for JVM and Android projects that builds Git projects on demand and serves ready-to-use artifacts (jar, aar… | 75 | 2669 | stable |