Topics / #version-control
Version-control projects on GitHub
Git servers, implementations, and libraries for source version control.
As of , the most-starred Version-control projects on GitHub are gitignore (176K stars), nvm (95.6K stars) and lazygit (83.3K stars). GitHub.Locker tracks 69 Version-control repositories with 1.5M stars combined. The fastest-growing on October 16 was git-ai, with +62 stars in a day.
Hot right now
Most stars gained in a day · Oct 16
+62git-ai
feder-cr/git-ai · ★ 1.1Kopenscion is an open-source, MIT-licensed reimplementation of Scion, the server-centric version control system Anthropic built internally for coding agents but never released publicly.
+37lazygit
jesseduffield/lazygit · ★ 83.3KLazygit is a simple terminal UI (TUI) for git that lets you stage, commit, rebase, merge and branch through an interactive visual interface instead of memorizing git CLI commands.
+34git
git/git · ★ 63.8KThis is Git, the fast, scalable, distributed revision control system with a rich command set that gives both high-level operations and full access to internals.
+27gat
getgat-dev/gat · ★ 487gat is a simple, fast, versioned large-file storage tool for git: point it at S3, Azure Blob, GCS, or a plain directory, and your normal git add/commit/push/pull/clone commands keep working as before for large files.
The all-time top
69 projects · by stars
- 176K
#1 · github/gitignoregitignore
GitHub's official collection of .gitignore templates: ready-made ignore rules for popular languages, tools and operating systems, and the list behind the .gitignore choosers on GitHub.com.
- 95.6K
#2 · nvm-sh/nvm
nvm
nvm (Node Version Manager) is a POSIX-compliant bash script that lets you install, switch between, and manage multiple versions of Node.js on the same machine.
- 83.3K
#3 · jesseduffield/lazygitlazygit
Lazygit is a simple terminal UI (TUI) for git that lets you stage, commit, rebase, merge and branch through an interactive visual interface instead of memorizing git CLI commands.
- 4

git
63.8Kgit/git · CThis is Git, the fast, scalable, distributed revision control system with a rich command set that gives both high-level operations and full access to internals.
- 5

gitea
58.5Kgo-gitea/gitea · GoGitea is a self-hosted, all-in-one software development service: Git hosting, code review, issue tracking, project kanban, wiki, team collaboration, a package registry and CI/CD in one package.
- 6

nvm
48Knvm-windows/nvm · Inno SetupNVM for Windows is a Node.js version manager built specifically for Windows, letting you install and switch between multiple Node.js versions on your machine.
- 7
gogs
47.9Kgogs/gogs · GoGogs is a self-hosted Git service that lets you run your own GitHub-like platform on your own server, written in Go.
- 8

frontend-dev-bookmarks
47.6Kdypsilon/frontend-dev-bookmarksA manually curated collection of links and resources for frontend web developers, organized into topic categories like Appearance, Architecture, Compatibility, Ecosystem, Languages/Protocols/Browser APIs, UI Components, and Workflow.
- 9

git-flight-rules
42.6Kk88hudson/git-flight-rulesGit Flight Rules is a crowdsourced troubleshooting guide: for almost any git 'uh-oh' moment, it tells you exactly what happened and the commands to fix it, modeled on NASA's astronaut flight rules.
- 10

harness
38.6Kharness/harness · GoHarness Open Source is an end-to-end developer platform combining source code hosting, CI/CD pipelines, hosted dev environments (Gitspaces), and artifact registries in one self-hosted application.
- 11

lerna
36Klerna/lerna · TypeScriptLerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages that live in the same repository (a monorepo).
- 12

husky
35.4Ktypicode/husky · JavaScriptHusky is a tool that makes it easy to set up and manage Git hooks, so scripts run automatically on Git events like commits or pushes.
- 13
jj
32.1Kjj-vcs/jj · RustJujutsu (jj) is a Git-compatible version control system that aims to be both simple and powerful, with a Git backend for storage so it works with your existing Git remotes and tools.
- 14

gitflow
26.8Knvie/gitflow · ShellA collection of Git extensions that implement Vincent Driessen's branching model, adding high-level commands for managing feature, release, hotfix and support branches on top of plain git.
- 15

difftastic
26KWilfred/difftastic · RustDifftastic is a structural diff tool that compares files based on their syntax rather than line by line, so it highlights exactly which pieces of syntax have changed.
- 16
dolt
24.7Kdolthub/dolt · GoDolt is 'Git for Data': a SQL database you can fork, clone, branch, merge, push and pull like a Git repository — it versions tables instead of files, and apps connect to it like any MySQL database.
- 17

gitlabhq
24.6Kgitlabhq/gitlabhq · RubyThis is GitLab Community Edition, an open-source platform for managing Git repositories with merge requests, issue tracking, wikis, and built-in CI/CD pipelines, used by more than 100,000 organizations.
- 18

awesome-sysadmin
24.4Kkahun/awesome-sysadminA curated, categorized list of open-source sysadmin tools and resources, covering backups, monitoring, configuration management, DNS, security, networking, and dozens of other admin topics.
- 19

renovate
22.8Krenovatebot/renovate · TypeScriptRenovate is an automated dependency update tool: it scans your repo for dependency references and opens pull requests when newer versions are available, so you don't update them by hand.
- 20

gitui
22.6Kgitui-org/gitui · RustGitUI is a blazing-fast terminal UI for git written in Rust: the comfort of a git GUI, but running entirely in your terminal.
- 21

desktop
22Kdesktop/desktop · TypeScriptGitHub Desktop is an open-source, Electron-based GitHub app: a visual client for working with Git and GitHub without wrestling with the command line. It is written in TypeScript and uses React.
- 22

gitbutler
21.8Kgitbutlerapp/gitbutler · RustGitButler is a modern Git-based version control client with both a GUI and a CLI, built from scratch to be a simpler, more powerful alternative to vanilla Git — including for AI-powered and agentic workflows.
- 23

vim-fugitive
21.8Ktpope/vim-fugitive · Vim ScriptFugitive is a Git wrapper that lives inside Vim — the README bills it as 'the premier Vim plugin for Git'. The name comes from its own tagline: a Git wrapper 'so awesome, it should be illegal'.
- 24

tips
21.7Kgit-tips/tips · JavaScriptA community-maintained collection of the most commonly used git tips and tricks — short, ready-to-copy commands for everyday Git tasks, translated into eight other languages.
- 25
commitlint
18.8Kconventional-changelog/commitlint · TypeScriptcommitlint checks whether your commit messages meet the conventional commit format, linting them against a configurable rule set.
- 26

git-extras
18.1Ktj/git-extras · Shellgit-extras is a collection of extra Git commands that add missing conveniences: repo summaries, a changelog generator, release tagging, author contribution stats, and more.
- 27

diff-so-fancy
18.1Kso-fancy/diff-so-fancy · PerlA command-line tool that turns git's machine-readable diff output into human-readable text, so you can review changes and spot defects faster.
- 28

cz-cli
17.5Kcommitizen/cz-cli · JavaScriptA free, open-source Node.js CLI that prompts you for commit message fields at commit time, so every message follows your project's convention — no digging through CONTRIBUTING.md, no hook rejections.
- 29

gitmoji
16.8Kcarloscuesta/gitmoji · TypeScriptGitmoji is an initiative to standardize using emojis in GitHub commit messages, so you can tell a commit's purpose just by looking at the emoji used.
- 30

dvc
15.9Ktreeverse/dvc · PythonDVC (Data Version Control) is an open-source tool for versioning data and tracking ML experiments; its own citation tagline calls it 'Git for Data & Models'.
- 31

git-tips
15.9K521xueweihan/git-tipsA Chinese-language cheatsheet of Git commands and tricks, collecting common operations and some clever shortcuts beyond the basics.
- 32

seafile
15.3Khaiwen/seafile · CSeafile is an open source cloud storage system focused on privacy protection and teamwork, organizing files into 'libraries' that can be synced, shared, and optionally encrypted, plus adding metadata, wikis, and collaborative editing on top.
- 33

hello-git
15.1Kmouredev/hello-gitA free, beginner-friendly course for learning Git and GitHub from scratch, made up of 45 video lessons covering around 5 hours and 45 minutes of content.
- 34

git-recipes
14.8Kzhongyi-tong/git-recipesA curated Chinese-language tutorial collection on Git, covering everything from setting up a local repo to advanced commands like rebase, reset, and hooks.
- 35
git-lfs
14.5Kgit-lfs/git-lfs · GoGit LFS (Large File Storage) is a Git extension and specification for managing large files inside Git repositories without bloating the repo history.
- 36

Spoon-Knife
14.1Koctocat/Spoon-Knife · HTMLThis is a demonstration repository used to teach people how forking works on GitHub. It has no real code or app inside, just example files to practice with.
- 37

git-filter-repo
13.4Knewren/git-filter-repo · Pythongit-filter-repo is a versatile tool for quickly rewriting git repository history — the replacement the git project itself now recommends over git filter-branch.
- 38

Gource
13.2Kacaudwell/Gource · C++Gource is a visualization tool for software version control repositories: it turns your project's history into an animated tree where directories are branches, files are leaves, and contributors appear and disappear as they edit them.
- 39

changesets
12.5Kchangesets/changesets · TypeScriptChangesets is a tool that manages versioning and changelogs for JavaScript/TypeScript projects, with a focus on monorepos. Contributors declare how their changes should be released, and Changesets handles bumping package versions, writing changelogs, and publishing.
- 40

phabricator
12.3Kphacility/phabricator · PHPPhabricator is a collection of web applications for software development, tied to code review and to Git, Mercurial and SVN repositories.
- 41

GitUp
12.1Kgit-up/GitUp · Objective-CGitUp is a native Mac Git client that reinvents how you interact with Git: instead of memorizing commands, you manipulate a live, interactive graph of your repository.
- 42

obsidian-git
12.1KVinzent03/obsidian-git · TypeScriptObsidian Git is a community plugin that brings Git version control right into Obsidian.md, letting you commit, pull, and push your vault changes from inside the app.
- 43
gitoxide
12KGitoxideLabs/gitoxide · Rustgitoxide (gix) is a pure Rust implementation of Git, built as both a library and a set of command-line tools for working with Git repositories.
- 44

git-github-learning-quest
10.8Kelidianaandrade/git-github-learning-questThis is a gamified Git and GitHub learning course: a structured journey that teaches version control from the basics to advanced collaboration techniques through levels, tasks, and achievements, written in Portuguese.
- 45
git-bug
10.8Kgit-bug/git-bug · Gogit-bug is a distributed, offline-first bug tracker that lives inside your git repository: issues, comments and identities are embedded in the repo itself and sync through ordinary git pushes and pulls.
- 46
libgit2
10.6Klibgit2/libgit2 · Clibgit2 is a portable, pure C implementation of the Git core methods, shipped as a linkable library with a solid API so applications can build Git functionality right in.
- 47

ungit
10.6KFredrikNoren/ungit · JavaScriptUngit is a free, web-based interface for git — a visual client you drive from the browser instead of memorizing commands. Its tagline: 'The easiest way to use git. On any platform. Anywhere.'
- 48

GitTutorial
10.6Krafaballerini/GitTutorialThis is a hands-on tutorial that teaches how to use Git and GitHub in practice, covering the whole workflow from initializing a repo to opening a pull request.
- 49

lore
8.9KEpicGames/lore · RustLore is Epic Games' next-generation open source version control system, built for huge repos and teams — especially projects mixing code with large binary assets, like games and entertainment.
- 50
degit
7.9KRich-Harris/degit · TypeScriptdegit is a command-line tool that makes copies of git repositories. Run degit some-user/some-repo and it downloads the latest commit's tar file into the current directory — no git history attached, which makes it much quicker than git clone for scaffolding a project from a template.
- 51
unison
6.8Kunisonweb/unison · HaskellUnison is a statically-typed functional programming language with type inference, an effect system, and advanced tooling, built around the idea of content-addressed code where functions are identified by a hash of their implementation rather than a name.
- 52
skillhub
5.2Kiflytek/skillhub · JavaSkillHub is a self-hosted, open-source agent skill registry that lets enterprises publish, version, and govern reusable agent skill packages behind their own firewall.
- 53

cli
5.2Kentireio/cli · GoEntire is a CLI that hooks into your Git workflow to capture AI coding agent sessions (prompts, responses, files touched) and indexes them alongside your commits, creating a searchable record of how code was written.
- 54

git-sim
4.7Kinitialcommit-com/git-sim · Pythongit-sim is a visual layer for Git that lets you simulate, record, replay, audit, and share Git commands or entire workflows as interactive graphs, without actually running the real Git command.
- 55

src
3.9Kopenbsd/src · CA read-only git mirror of the official source tree of OpenBSD, the open-source Unix-like operating system — converted from the project's original CVS repository so the full source can be browsed and cloned on GitHub.
- 56

git-ai
2.8Kgit-ai-project/git-ai · RustGit AI is a git extension that tracks AI-generated code in your repositories, linking every AI-written line back to the agent, model, and prompt that produced it.
- 57

walgit
2.6Ktobi/walgit · Rustwalgit is a single-binary git server that stores every repository as a write-ahead log in an S3 or GCS bucket instead of a database. It implements smart HTTP git (v0/v2), bundle-uri clones, Git LFS, a web browsing UI, and a JSON API with an SDK, and it can scale to repositories larger than the machine running it.
- 58
weave
1.3KAtaraxy-Labs/weave · RustWeave is an entity-level git merge driver: it parses code with tree-sitter into functions, classes, and keys, then merges those entities instead of raw lines, to kill the false conflicts Git invents when independent agents edit the same file.
- 59

git-ai
1.1Kfeder-cr/git-ai · Goopenscion is an open-source, MIT-licensed reimplementation of Scion, the server-centric version control system Anthropic built internally for coding agents but never released publicly.
- 60

epiq
543ljtn/epiq · TypeScriptEpiq is a self-hosted, Git-backed issue tracker that stores all state as an immutable event log, letting you replay a project's workflow in real time or after the fact to see exactly what happened.
- 61

gat
487getgat-dev/gat · Rustgat is a simple, fast, versioned large-file storage tool for git: point it at S3, Azure Blob, GCS, or a plain directory, and your normal git add/commit/push/pull/clone commands keep working as before for large files.
- 62

tatr
444tsoding/tatr · C++Tatr is a lightweight, git-friendly task tracker that stores each task as a plain Markdown file inside a tasks/ folder, instead of requiring a full-blown issue tracking system.
- 63

threadport
272Frankie-Xu/threadport · TypeScriptThreadPort captures the observable work state of an AI coding session — objective, decisions, files, commands, tests, Git state, evidence and next action — into a portable 'Capsule' file, so you can review what happened and hand off an unfinished task between Claude Code, Codex, Cursor, or Gemini.
- 64

durable-git
263littledivy/durable-git · TypeScriptdgit is a git server for Cloudflare Workers and for your own machines with celld. Each repository is a Durable Object with its own SQLite database: it speaks the git smart HTTP protocol to a stock git client and renders a cgit-style web interface.
- 65

lane
160lukeed/lane · RustLane is a CLI tool that creates copy-on-write Git worktrees so a new checkout starts with warm build caches instead of empty ones, and it can attach durable Markdown notes to code that get flagged when the annotated code changes.
- 66
crab
155crabbuild/crab · RustCrab is a Git extension that keeps large files like models, datasets, media, and build artifacts out of ordinary Git blobs. Git stores small pointer files while Crab stores the real content as deduplicated chunks in an S3, GCS, Azure, or S3-compatible bucket you own.
- 67

objgit
141tigrisdata/objgit · Goobjgit is an experiment: a Git server that keeps repositories in object storage (Tigris) instead of on a local disk. The author calls it a proof of concept that you probably don't need yet.
- 68

walgithub
134rgodha24/walgithub · Rustwalgit is a self-hosted git server that runs as a single binary in front of an S3 or GCS bucket instead of a database or local disk. The bucket is the repository, and every running instance is just a disposable cache, so you can add or kill servers without coordination.
- 69

turbocrypt
129jedisct1/turbocrypt · ZigTurboCrypt is a fast, easy-to-use command-line tool that encrypts and decrypts files, Git repositories, and directory trees — from a single document to a whole directory of backups.
Related topics
Often tagged together