function: version-control
365 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| jesseduffield/lazygit Lazygit is a terminal UI for git commands, letting users manage commits, branches, stashes, and rebases through an interactive interface. I… | 98 | 81664 | 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 | 62811 | stable |
| go-gitea/gitea Gitea is a lightweight, self-hosted, all-in-one software development platform written in Go, providing Git hosting, code review, issue trac… | 98 | 57625 | stable |
| gogs/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… | 95 | 47775 | stable |
| harness/harness Harness Open Source is an end-to-end self-hosted developer platform combining Git source control management, CI/CD pipelines, hosted cloud … | 88 | 38136 | active |
| dandavison/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… | 90 | 31865 | 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… | 98 | 31211 | active |
| Schniz/fnm fnm (Fast Node Manager) is a fast, cross-platform Node.js version manager written in Rust. It installs and switches Node.js versions per-pr… | 84 | 26703 | active |
| gitlabhq/gitlabhq GitLab is an open-core DevOps platform for hosting Git repositories with merge requests, code review, CI/CD pipelines, issue tracking, and … | 77 | 24540 | active |
| dolthub/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 | 24278 | 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… | 98 | 24007 | stable |
| 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… | 79 | 22436 | active |
| desktop/desktop GitHub Desktop is an open-source Electron-based graphical Git client that simplifies Git workflows with visual diffs, branch management, an… | 94 | 21793 | active |
| tpope/vim-fugitive Fugitive is a Vim plugin that wraps Git, exposing arbitrary Git commands via :Git plus higher-level commands like :Gdiffsplit, :Gblame, and… | 64 | 21767 | stable |
| 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 … | 94 | 21576 | 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… | 82 | 18098 | 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… | 98 | 18082 | stable |
| commitizen/cz-cli Commitizen is a Node.js command-line tool that replaces `git commit` with an interactive prompt (`git cz` or `cz`) that guides contributors… | 83 | 17498 | stable |
| treeverse/dvc DVC (Data Version Control) is an open-source command line tool and VS Code extension for versioning data and models, building lightweight M… | 92 | 15843 | active |
| 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 | 15183 | active |
| 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… | 74 | 14444 | stable |
| 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… | 51 | 13380 | 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 | 13318 | stable |
| 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… | 64 | 13188 | stable |
| acaudwell/Gource Gource is an OpenGL-based visualization tool that renders version control repository history as an animated tree, with directories as branc… | 66 | 13119 | active |
| Changesets Changesets is a CLI tool and workflow for managing package versioning and changelog generation, with first-class monorepo support. Contribu… | 95 | 12329 | active |
| 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… | 24 | 12175 | 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, … | 84 | 12110 | 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,… | 87 | 12035 | 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 | 11870 | active |
| Vinzent03/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 | 11861 | active |
| 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… | 78 | 10600 | 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… | 98 | 10575 | stable |
| gitkraken/vscode-gitlens GitLens is an open-source VS Code extension that supercharges Git with blame annotations, CodeLens, an interactive Commit Graph, rich histo… | 94 | 9902 | 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… | 45 | 9871 | active |
| nvm-windows/nvm NVM for Windows is a Node.js version management utility that lets developers install and switch between multiple Node.js versions on Window… | 79 | 47476 | maintenance |
| gitbucket/gitbucket GitBucket is a self-hosted Git web platform written in Scala that provides repositories, issues, pull requests, wikis, and GitHub API compa… | 94 | 9394 | 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… | 75 | 8588 | stable |
| gitextensions/gitextensions Git Extensions is a standalone Windows GUI application for managing Git repositories, offering a rich interface with commit graph, file his… | 93 | 8539 | 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 | 8268 | 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… | 36 | 7848 | stable |
| sindresorhus/np np is an interactive CLI tool that improves the npm publish workflow for JavaScript packages. It automates safety checks, version bumping, … | 96 | 7712 | active |
| 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… | 98 | 7683 | active |
| Release Please Release Please is a tool by Google that automates changelog generation, GitHub releases, and version bumps by parsing Conventional Commit m… | 99 | 7401 | active |
| 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… | 93 | 7232 | 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 | 7211 | stable |
| 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… | 67 | 7200 | 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… | 86 | 7063 | stable |
| 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… | 90 | 6993 | active |
| magicmonty/bash-git-prompt An informative bash (and fish) prompt that displays git repository status inline, including branch name, ahead/behind counts, staged/change… | 57 | 6934 | 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… | 79 | 6665 | 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 … | 67 | 6403 | stable |
| pierrecomputer/pierre The open-source repository of Pierre Computer Company, a software company building low-level composable product infrastructure for machine … | 84 | 6078 | 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… | 65 | 5865 | 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… | 95 | 5813 | active |
| nvie/gitflow Git extensions implementing Vincent Driessen's git-flow branching model as high-level repository operations. Written in Shell, it automates… | 10 | 26792 | maintenance |
| 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 | 5778 | stable |
| 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… | 70 | 5699 | active |
| 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… | 67 | 5597 | active |
| treeverse/lakeFS lakeFS is an open-source data version control service that turns object storage (S3, Azure Blob, GCS) into a Git-like repository with branc… | 94 | 5496 | stable |
| 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 | 22957 | 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 | 5070 | active |
| entireio/cli Entire CLI is a Go-based command-line tool that hooks into your Git workflow to capture AI coding agent sessions (prompts, responses, tool … | 82 | 5011 | active |
| tfutils/tfenv tfenv is a Terraform version manager written in Bash, inspired by rbenv. It lets developers install, switch, pin, and list multiple Terrafo… | 89 | 4964 | 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… | 27 | 4465 | active |
| tkellogg/dura Dura is a Rust background daemon that watches Git repositories and automatically commits uncommitted changes to shadow branches without tou… | 56 | 4429 | active |
| 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… | 72 | 4339 | active |
| GitJournal/GitJournal GitJournal is a mobile-first, open-source note-taking app that stores notes in Markdown with optional YAML headers inside a Git repository … | 61 | 4210 | active |
| numbersprotocol/nit Nit is a CLI tool that applies Git-like concepts to web3 digital assets, letting users commit an asset's activities (chronicle) as on-chain… | 29 | 4129 | 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… | 81 | 4115 | active |
| 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… | 51 | 4071 | 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… | 93 | 4007 | 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… | 71 | 3879 | 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… | 91 | 3855 | stable |
| 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 | 3815 | 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… | 88 | 3746 | 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 … | 60 | 3585 | stable |
| commitizen-tools/commitizen Commitizen is a Python CLI tool that enforces standardized commit messages (Conventional Commits by default) and automates semantic version… | 95 | 3498 | 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)… | 61 | 3456 | 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… | 95 | 3365 | 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… | 82 | 3315 | 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 | 13690 | maintenance |
| etianen/django-reversion django-reversion is a Django extension that adds version control for model instances, tracking revisions and enabling rollback. It integrat… | 86 | 3168 | 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… | 72 | 3140 | stable |
| athasdev/athas Athas is a lightweight, cross-platform code editor built with Tauri (Rust backend, React frontend) that integrates Git/GitHub workflows, an… | 85 | 3027 | active |
| 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… | 77 | 3027 | 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… | 75 | 2914 | 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… | 91 | 2892 | active |
| 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 | 11703 | maintenance |
| jupyter/nbdime nbdime provides tools for diffing and merging Jupyter notebooks, with terminal commands (nbdiff, nbmerge, nbshow) and rich web-based diff/m… | 72 | 2840 | 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… | 91 | 2838 | 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 | 2757 | 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… | 74 | 2746 | 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… | 64 | 2728 | stable |
| jorgebucaran/nvm.fish nvm.fish is a Node.js version manager written entirely in Fish shell script, letting users install, switch, and manage multiple Node.js ver… | 69 | 2709 | 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… | 75 | 2694 | 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, … | 70 | 2678 | active |
| git-cola/git-cola Git Cola is a powerful, slick graphical user interface for Git built with Python and PyQt/PySide via QtPy. It includes a main commit/stagin… | 92 | 2565 | active |
| stefanzweifel/git-auto-commit-action A GitHub Action that detects files changed during a workflow run and automatically commits and pushes them back to the repository. It is wr… | 92 | 2564 | active |
| go-nv/goenv goenv is a Go version manager modeled after pyenv and rbenv, letting users switch global, per-project, and environment-variable-overridden … | 98 | 2539 | active |
page 1 / 4 next →