function: version-control
365 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| 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 … | 81 | 2506 | active |
| intuit/auto Auto is a CLI tool by Intuit that automates software releases based on semantic version labels added to pull requests. It generates changel… | 79 | 2494 | active |
| bigH/git-fuzzy git-fuzzy is an interactive command-line interface for git built on top of fzf, providing fuzzy-searchable views of status, branches, log, … | 72 | 2434 | active |
| nodenv/nodenv nodenv is a Node.js version manager for Unix-like systems, modeled on rbenv, that lets you install and switch between multiple Node.js vers… | 79 | 2413 | active |
| lukechilds/zsh-nvm A Zsh plugin that automatically installs, updates, and loads nvm (Node Version Manager) in your shell. It wraps nvm with extra commands lik… | 32 | 2413 | active |
| waylau/git-for-win A China-based mirror listing for downloading Git for Windows installers and portable builds, hosted via npmmirror (formerly Taobao npm mirr… | 32 | 2378 | active |
| kdheepak/lazygit.nvim A Neovim plugin that launches the lazygit terminal UI inside a floating window within Neovim. It provides commands like :LazyGit and :LazyG… | 58 | 2347 | active |
| elfshaker/elfshaker elfshaker is a high-performance CLI version control system written in Rust, fine-tuned for storing binary files. It packs directory snapsho… | 64 | 2336 | active |
| Everduin94/better-commits better-commits is a Node.js CLI that guides developers through interactive prompts to build conventional commit messages, with branch-based… | 97 | 2288 | active |
| RichiH/vcsh vcsh is a shell-based tool that manages multiple Git repositories in $HOME, letting each application's dotfiles live in its own repository … | 49 | 2275 | stable |
| jelmer/dulwich Dulwich is a pure-Python implementation of Git's file formats and network protocols, providing both low-level access to Git objects and a h… | 99 | 2272 | active |
| Murmele/Gittyup Gittyup is a graphical Git client built with C++ and Qt that helps users understand and manage their source code history. It is a continuat… | 71 | 2263 | active |
| ViscousPot/GitSync GitSync is a mobile Git client for iOS and Android that syncs a local directory with a remote Git repository in the background. It is popul… | 86 | 2249 | active |
| mateodelnorte/meta meta is a Node.js CLI tool that manages multi-project systems by combining many git repositories into a single 'meta repo', letting you run… | 66 | 2217 | stable |
| andsens/homeshick homeshick is a dotfiles synchronizer written in Bash that uses git to manage and deploy configuration files across machines. It clones dotf… | 64 | 2193 | stable |
| isomorphic-git/isomorphic-git A pure JavaScript reimplementation of git that works in both Node.js and browser environments (including WebWorkers and ServiceWorkers), wi… | 95 | 8337 | maintenance |
| MordechaiHadad/bob Bob is a cross-platform command-line version manager for Neovim, written in Rust. It lets users install, switch between, and build Neovim v… | 89 | 2141 | active |
| dat-ecosystem/dat Dat is a command-line tool and JavaScript library for peer-to-peer sharing and live synchronization of files over the Hypercore Protocol, c… | 23 | 8227 | maintenance |
| idursun/jjui jjui is a terminal user interface (TUI) for interacting with the Jujutsu version control system, built in Go with Bubble Tea. It provides i… | 88 | 2120 | active |
| dolthub/doltgresql Doltgres is a version-controlled PostgreSQL-compatible SQL database that lets you branch, merge, fork, clone, push, and pull database schem… | 94 | 2103 | active |
| rust-lang/git2-rs git2-rs provides safe, idiomatic Rust bindings to the libgit2 C library for reading and writing git repositories. It offers automatic resou… | 76 | 2090 | stable |
| conventional-changelog/standard-version standard-version is a Node.js CLI utility that automates semantic version bumping and CHANGELOG.md generation based on Conventional Commits… | 64 | 7976 | maintenance |
| lusingander/serie Serie is a Rust-based TUI application that renders rich git commit graphs in the terminal using the terminal emulator's image display proto… | 89 | 2056 | active |
| github/app GitHub Copilot app is an agent-native desktop application for finding, running, steering, and landing software work across GitHub repositor… | 77 | 2043 | active |
| basecamp/gh-signoff A GitHub CLI extension (written in Shell) that brings CI in-house: you run your test suite on your own machine and then run `gh signoff` to… | 89 | 2017 | active |
| donnemartin/gitsome gitsome is a Python-based command line tool that supercharges Git and GitHub workflows with 29 GitHub-integrated `gh` commands and an optio… | 23 | 7688 | maintenance |
| kylef/swiftenv swiftenv is a Swift version manager inspired by pyenv that lets you install and switch between multiple Swift toolchains. It supports globa… | 23 | 1989 | stable |
| mirage/irmin Irmin is an OCaml library for building mergeable, branchable distributed data stores following Git's design principles, with clone/push/pul… | 57 | 1957 | active |
| timbrel/GitSavvy GitSavvy is a mature Sublime Text plugin providing full Git and GitHub integration inside the editor. It adds command palette commands and … | 91 | 1939 | active |
| nosarthur/gita Gita is a Python command-line tool for managing multiple git repositories from any working directory. It displays the status of many repos … | 81 | 1927 | active |
| josh-project/josh Josh (Just One Single History) is a Git-at-scale platform providing fast, reversible Git history transformation so any sub-view of a reposi… | 94 | 1915 | active |
| abapGit/abapGit abapGit is a Git client for ABAP systems, written entirely in ABAP, that lets developers version and sync ABAP code with Git hosting servic… | 77 | 1914 | active |
| streamich/git-cz git-cz is a CLI tool for writing semantic, emoji-decorated Conventional Commit messages interactively. It works standalone via npx or as a … | 41 | 1877 | active |
| ruby-git/ruby-git The git gem is a Ruby library that provides an object-oriented interface for creating, reading, and manipulating Git repositories by wrappi… | 99 | 1795 | active |
| remotemobprogramming/mob mob is a Go-based command line tool that streamlines git handover during remote pair and mob programming sessions, using temporary branches… | 79 | 1785 | active |
| gitwatch/gitwatch gitwatch is a bash script that watches a file or folder for changes and automatically commits them to a git repository. It provides conveni… | 86 | 1736 | active |
| git-commit-id/git-commit-id-maven-plugin A Maven plugin that captures git repository information (commit id, branch, tags, dirty state) at build time and exposes it as pom.xml prop… | 91 | 1716 | stable |
| soramimi/Guitar Guitar is a fast, lightweight open-source Git GUI client built with C++ and Qt 6. It provides a graphical interface for everyday Git workfl… | 88 | 1695 | active |
| TortoiseGit/TortoiseGit TortoiseGit is a free, open-source Windows shell extension that integrates Git version control directly into Windows Explorer, based on Tor… | 72 | 1680 | stable |
| obi1kenobi/cargo-semver-checks cargo-semver-checks is a CLI linter that scans Rust crates for semantic versioning violations by comparing a crate's public API against a p… | 94 | 1673 | active |
| ostreedev/ostree libostree (formerly OSTree) is a shared library and suite of command line tools that combines a git-like model for committing and downloadi… | 95 | 1669 | stable |
| microsoft/VFSForGit VFS for Git is a virtual file system for Windows that lets Git repositories of enterprise scale behave like normal working directories, dow… | 95 | 6135 | maintenance |
| chriswalz/bit Bit is a modernized Git CLI built on top of git that provides sensible defaults, command/flag suggestions, and autocompletion for files and… | 23 | 6103 | maintenance |
| isaacs/nave Nave is a shell-based virtual environment manager for Node.js that lets you switch Node versions and global npm install spaces via subshell… | 61 | 1635 | active |
| TfTHacker/obsidian42-brat BRAT is an Obsidian plugin that simplifies installing and auto-updating beta plugins and themes directly from GitHub repositories. It remov… | 96 | 1617 | active |
| splitsh/lite splitsh-lite is a fast, Go-based replacement for `git subtree split` that extracts subdirectories of a monolithic repository into read-only… | 47 | 1612 | active |
| jupyterlab/jupyterlab-git A JupyterLab extension that adds Git version control support to the JupyterLab interface, providing a left-panel UI for staging, committing… | 94 | 1610 | active |
| crate-ci/cargo-release cargo-release is a Cargo subcommand that streamlines releasing Rust crates by extending `cargo publish` with validation, version bumping, t… | 98 | 1588 | stable |
| dotnet/Nerdbank.GitVersioning A .NET library and CLI tool that generates unique, semver-compatible version numbers for assemblies and packages from a single version.json… | 93 | 1585 | active |
| magit/forge Forge is an Emacs package that extends Magit to work with Git forges such as GitHub and GitLab, letting users manage issues and pull reques… | 97 | 1571 | active |
| nodegit/nodegit NodeGit provides asynchronous native Node.js bindings to the libgit2 C library, exposing a full Git API (clone, commit, diff, rebase, etc.)… | 64 | 5753 | maintenance |
| frostming/legit Legit is a complementary command-line tool for Git that simplifies common feature-branch workflows, inspired by GitHub for Mac. It provides… | 23 | 5685 | maintenance |
| kahole/edamagit edamagit is a VSCode extension that brings the keyboard-driven Magit Git interface from Emacs to Visual Studio Code. It provides popups and… | 59 | 1539 | active |
| esmuellert/codediff.nvim A Neovim plugin that renders VSCode-style diffs with side-by-side or inline layouts and two-tier line/character-level highlighting, powered… | 78 | 1534 | active |
| Bhupesh-V/ugit ugit is a shell script tool that helps you undo accidental git commands across 20+ scenarios, such as undoing commits, adds, pushes, branch… | 30 | 1508 | active |
| petervanderdoes/gitflow-avh A collection of Git extensions implementing Vincent Driessen's git-flow branching model, maintained as the AVH Edition fork with additional… | 10 | 5451 | maintenance |
| projectnessie/nessie Project Nessie is a transactional catalog for data lakes that provides Git-like branching, tagging, and cross-table transactions for Apache… | 98 | 1497 | active |
| warrensbox/terraform-switcher Terraform Switcher (tfswitch) is a command-line tool for switching between different versions of Terraform, downloading and installing the … | 95 | 1483 | active |
| kynan/nbstripout A command-line tool that strips output and some metadata from Jupyter, IPython, and Zeppelin notebooks. It is designed to be used as a Git … | 75 | 1477 | active |
| google/git-appraise A distributed code review system for Git repositories, implemented as a Go command line tool. Reviews are stored as git objects (git-notes)… | 23 | 5309 | maintenance |
| gitpython-developers/GitPython GitPython is a Python library for interacting with Git repositories, offering both high-level (porcelain) and low-level (plumbing) abstract… | 98 | 5173 | maintenance |
| tofuutils/tenv tenv is a version manager written in Go for OpenTofu, Terraform, Terragrunt, Terramate, and Atmos. It detects required versions from HCL fi… | 91 | 1430 | active |
| f/git-rewrite-commits A TypeScript CLI tool that uses AI (OpenAI GPT or local Ollama models) to rewrite git commit history with better, conventional commit messa… | 56 | 1419 | active |
| junegunn/gv.vim gv.vim is a Vim plugin that provides a fast, simple git commit browser inside the editor. It requires tpope's vim-fugitive and supports bro… | 70 | 1412 | stable |
| nvie/git-toolbelt A collection of shell-based Git helper commands that simplify everyday Git usage and scripting. It adds subcommands like git-cleanup, git-f… | 80 | 1411 | active |
| cookpete/auto-changelog auto-changelog is a Node.js command line tool that generates a CHANGELOG.md file from a git repository's tags and commit history. It suppor… | 70 | 1395 | active |
| hbons/SparkleShare SparkleShare is an open-source file sharing and collaboration app that syncs a special folder on your computer with any Git repository, wor… | 65 | 4980 | maintenance |
| github/gh-stack A GitHub CLI extension for managing stacked branches and pull requests, written in Go. It automates creating branch chains, rebasing them, … | 81 | 1378 | active |
| rhysd/git-messenger.vim A Vim/Neovim plugin that reveals the Git commit message for the code under the cursor in a popup window. It lets users explore older commit… | 43 | 1372 | active |
| Git-it Git-it is a cross-platform desktop app (built on Electron) that teaches Git and GitHub through interactive challenges using real Git and Gi… | 23 | 4888 | maintenance |
| akinsho/git-conflict.nvim A Neovim plugin written in Lua that visualizes and helps resolve Git merge conflicts directly in the editor. It highlights conflict markers… | 23 | 1366 | active |
| BillHuang2001/evogit EvoGit is a decentralized multi-agent framework that treats software development as an evolutionary process, deploying a population of inde… | 68 | 1357 | active |
| jreybert/vimagit vimagit is a Vim plugin that brings an Emacs Magit-like git workflow into a single Vim buffer. It lets users view diffs and interactively s… | 66 | 1330 | stable |
| Jean85/pretty-package-versions A small PHP library that wraps Composer's installed package metadata to produce pretty version strings for dependencies. It provides a sing… | 65 | 1311 | stable |
| GNOME/meld Meld is a visual diff and merge tool for developers that compares files, directories, and version-controlled projects with two- and three-w… | 77 | 1308 | stable |
| nkzw-tech/codiff Codiff is a fast, minimal local diff viewer for reviewing Git changes and committing them, available as a macOS desktop app with a terminal… | 81 | 1290 | active |
| EndBug/add-and-commit A GitHub Action that automatically commits changes made during a workflow run back to the repository. It wraps git add/commit/push operatio… | 99 | 1288 | active |
| ejoffe/spr spr is a Go CLI tool that manages stacked pull requests on GitHub, turning each commit on a single branch into its own ordered, auto-synced… | 83 | 1286 | active |
| qw3rtman/git-fire git-fire is a Git plugin (shell script) that saves all your work in an emergency by committing and pushing everything, including stashes, t… | 23 | 4545 | maintenance |
| ad-m/github-push-action A GitHub Action (written in Shell) that pushes local changes made during a workflow back to a GitHub repository using an authorized GITHUB_… | 74 | 1277 | active |
| remorses/critique Critique is a terminal UI diff viewer for reviewing git changes, built with OpenTUI and requiring Bun. It can also render diffs as shareabl… | 78 | 1269 | active |
| Ataraxy-Labs/weave Weave is an entity-level semantic merge driver for Git that parses code with tree-sitter and merges by functions and classes instead of lin… | 82 | 1259 | active |
| unjs/changelogen Changelogen is a TypeScript CLI tool that generates beautiful Markdown changelogs from Conventional Commits in a git repository. It can als… | 79 | 1257 | active |
| andy-5/wslgit A small Rust executable that forwards git commands to the Git installation inside Windows Subsystem for Linux (WSL), translating paths betw… | 78 | 1242 | 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 | 1221 | 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… | 56 | 1199 | 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 | 4188 | maintenance |
| Oxen-AI/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 | 1184 | active |
| cocogitto/cocogitto Cocogitto is a Rust CLI toolbox for the Conventional Commits and SemVer specifications. It helps create compliant commits, automatically bu… | 72 | 1179 | 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 | 4092 | 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… | 70 | 1169 | 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… | 73 | 1168 | active |
| CodeEditApp/CodeEdit CodeEdit is a free, open-source, native macOS code editor built in Swift and SwiftUI, offering syntax highlighting, code completion, find a… | 75 | 22996 | experimental |
| creationix/js-git JS-Git is a collection of JavaScript modules implementing Git's core functionality, letting applications create, read, and manipulate Git r… | 72 | 3847 | maintenance |
| 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… | 77 | 1111 | stable |
| 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… | 55 | 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 … | 61 | 1093 | stable |
| 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 | 3715 | 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… | 72 | 1073 | 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… | 100 | 1055 | active |