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.

69Projects
1.5MStars in total
+392Stars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

69 projects · by stars

  1. #1 · github/gitignore

    gitignore

    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.

    176K
  2. #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.

    95.6K
  3. #3 · jesseduffield/lazygit

    lazygit

    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.

    83.3K
  1. 4

    git

    63.8Kgit/git · C

    This 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.

  2. 5

    gitea

    58.5Kgo-gitea/gitea · Go

    Gitea 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.

  3. 6

    nvm

    48Knvm-windows/nvm · Inno Setup

    NVM 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.

  4. 7

    gogs

    47.9Kgogs/gogs · Go

    Gogs is a self-hosted Git service that lets you run your own GitHub-like platform on your own server, written in Go.

  5. 8

    frontend-dev-bookmarks

    47.6Kdypsilon/frontend-dev-bookmarks

    A 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.

  6. 9

    git-flight-rules

    42.6Kk88hudson/git-flight-rules

    Git 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.

  7. 10

    harness

    38.6Kharness/harness · Go

    Harness 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.

  8. 11

    lerna

    36Klerna/lerna · TypeScript

    Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages that live in the same repository (a monorepo).

  9. 12

    husky

    35.4Ktypicode/husky · JavaScript

    Husky 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.

  10. 13

    jj

    32.1Kjj-vcs/jj · Rust

    Jujutsu (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.

  11. 14

    gitflow

    26.8Knvie/gitflow · Shell

    A 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.

  12. 15

    difftastic

    26KWilfred/difftastic · Rust

    Difftastic 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.

  13. 16

    dolt

    24.7Kdolthub/dolt · Go

    Dolt 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.

  14. 17

    gitlabhq

    24.6Kgitlabhq/gitlabhq · Ruby

    This 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.

  15. 18

    awesome-sysadmin

    24.4Kkahun/awesome-sysadmin

    A curated, categorized list of open-source sysadmin tools and resources, covering backups, monitoring, configuration management, DNS, security, networking, and dozens of other admin topics.

  16. 19

    renovate

    22.8Krenovatebot/renovate · TypeScript

    Renovate 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.

  17. 20

    gitui

    22.6Kgitui-org/gitui · Rust

    GitUI is a blazing-fast terminal UI for git written in Rust: the comfort of a git GUI, but running entirely in your terminal.

  18. 21

    desktop

    22Kdesktop/desktop · TypeScript

    GitHub 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.

  19. 22

    gitbutler

    21.8Kgitbutlerapp/gitbutler · Rust

    GitButler 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.

  20. 23

    vim-fugitive

    21.8Ktpope/vim-fugitive · Vim Script

    Fugitive 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'.

  21. 24

    tips

    21.7Kgit-tips/tips · JavaScript

    A 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.

  22. 25

    commitlint

    18.8Kconventional-changelog/commitlint · TypeScript

    commitlint checks whether your commit messages meet the conventional commit format, linting them against a configurable rule set.

  23. 26

    git-extras

    18.1Ktj/git-extras · Shell

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

  24. 27

    diff-so-fancy

    18.1Kso-fancy/diff-so-fancy · Perl

    A command-line tool that turns git's machine-readable diff output into human-readable text, so you can review changes and spot defects faster.

  25. 28

    cz-cli

    17.5Kcommitizen/cz-cli · JavaScript

    A 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.

  26. 29

    gitmoji

    16.8Kcarloscuesta/gitmoji · TypeScript

    Gitmoji 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.

  27. 30

    dvc

    15.9Ktreeverse/dvc · Python

    DVC (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'.

  28. 31

    git-tips

    15.9K521xueweihan/git-tips

    A Chinese-language cheatsheet of Git commands and tricks, collecting common operations and some clever shortcuts beyond the basics.

  29. 32

    seafile

    15.3Khaiwen/seafile · C

    Seafile 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.

  30. 33

    hello-git

    15.1Kmouredev/hello-git

    A 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.

  31. 34

    git-recipes

    14.8Kzhongyi-tong/git-recipes

    A curated Chinese-language tutorial collection on Git, covering everything from setting up a local repo to advanced commands like rebase, reset, and hooks.

  32. 35

    git-lfs

    14.5Kgit-lfs/git-lfs · Go

    Git LFS (Large File Storage) is a Git extension and specification for managing large files inside Git repositories without bloating the repo history.

  33. 36

    Spoon-Knife

    14.1Koctocat/Spoon-Knife · HTML

    This 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.

  34. 37

    git-filter-repo

    13.4Knewren/git-filter-repo · Python

    git-filter-repo is a versatile tool for quickly rewriting git repository history — the replacement the git project itself now recommends over git filter-branch.

  35. 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.

  36. 39

    changesets

    12.5Kchangesets/changesets · TypeScript

    Changesets 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.

  37. 40

    phabricator

    12.3Kphacility/phabricator · PHP

    Phabricator is a collection of web applications for software development, tied to code review and to Git, Mercurial and SVN repositories.

  38. 41

    GitUp

    12.1Kgit-up/GitUp · Objective-C

    GitUp 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.

  39. 42

    obsidian-git

    12.1KVinzent03/obsidian-git · TypeScript

    Obsidian 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.

  40. 43

    gitoxide

    12KGitoxideLabs/gitoxide · Rust

    gitoxide (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.

  41. 44

    git-github-learning-quest

    10.8Kelidianaandrade/git-github-learning-quest

    This 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.

  42. 45

    git-bug

    10.8Kgit-bug/git-bug · Go

    git-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.

  43. 46

    libgit2

    10.6Klibgit2/libgit2 · C

    libgit2 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.

  44. 47

    ungit

    10.6KFredrikNoren/ungit · JavaScript

    Ungit 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.'

  45. 48

    GitTutorial

    10.6Krafaballerini/GitTutorial

    This 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.

  46. 49

    lore

    8.9KEpicGames/lore · Rust

    Lore 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.

  47. 50

    degit

    7.9KRich-Harris/degit · TypeScript

    degit 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.

  48. 51

    unison

    6.8Kunisonweb/unison · Haskell

    Unison 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.

  49. 52

    skillhub

    5.2Kiflytek/skillhub · Java

    SkillHub is a self-hosted, open-source agent skill registry that lets enterprises publish, version, and govern reusable agent skill packages behind their own firewall.

  50. 53

    cli

    5.2Kentireio/cli · Go

    Entire 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.

  51. 54

    git-sim

    4.7Kinitialcommit-com/git-sim · Python

    git-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.

  52. 55

    src

    3.9Kopenbsd/src · C

    A 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.

  53. 56

    git-ai

    2.8Kgit-ai-project/git-ai · Rust

    Git 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.

  54. 57

    walgit

    2.6Ktobi/walgit · Rust

    walgit 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.

  55. 58

    weave

    1.3KAtaraxy-Labs/weave · Rust

    Weave 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.

  56. 59

    git-ai

    1.1Kfeder-cr/git-ai · Go

    openscion 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.

  57. 60

    epiq

    543ljtn/epiq · TypeScript

    Epiq 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.

  58. 61

    gat

    487getgat-dev/gat · Rust

    gat 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.

  59. 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.

  60. 63

    threadport

    272Frankie-Xu/threadport · TypeScript

    ThreadPort 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.

  61. 64

    durable-git

    263littledivy/durable-git · TypeScript

    dgit 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.

  62. 65

    lane

    160lukeed/lane · Rust

    Lane 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.

  63. 66

    crab

    155crabbuild/crab · Rust

    Crab 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.

  64. 67

    objgit

    141tigrisdata/objgit · Go

    objgit 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.

  65. 68

    walgithub

    134rgodha24/walgithub · Rust

    walgit 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.

  66. 69

    turbocrypt

    129jedisct1/turbocrypt · Zig

    TurboCrypt 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.

Often tagged together