The SCM du jour, which replaced Mercurial for me, and with a number of followers largely due to the massive amount of projects managed with it (and GitHub’s rise in popularity).
Resources
| Date | Platform | Link | Notes |
|---|---|---|---|
| 2026 | prek | A Rust-based, dependency-free reimagining of pre-commit with drop-in compatibility | |
| Worktrunk | A CLI for git worktree management with hooks and automation tuned for parallel agentic workflows | ||
| Linux, macOS, Windows | git-bug | Distributed, offline-first bug tracker integrated with Git, with CLI, terminal and web UIs, and bridges for GitHub, GitLab, Jira, and Launchpad | |
| Server | walgithub | Rust Git server with a GitHub Enterprise Server-compatible facade, serving repositories over smart HTTP from S3-compatible object storage or GCS | |
| walgit | Git server backed by object storage | ||
| 2025 | Gitblit | A Java based solution. | |
| Gitlist | A PHP front-end | ||
| libgit2 | A linkable library for git | ||
| git-crypt | A tool for transparent encryption of files in a git repository | ||
| gittle | A high-level Python implementation based on Dulwich | ||
| Gitfs | A FUSE filesystem that keeps track of changes | ||
| Soft Serve | A self-hosted Git server with a text interface, written in Go | ||
| Gogs | A self-hosting Go solution, pretty neat. | ||
| lazygit | nice terminal-based wrapper | ||
| klaus | A Python-based repository browser | ||
| git-secret | A tool to store your private data inside a git repository | ||
| OneDev | A possible GitLab replacement for on-prem setups | ||
| git-extras | A set of extensions for team work. | ||
| Mac | Gitbox | Free for up to three repos. | |
| gitnub | RubyCocoa, plays nice with github, requires some tweaking. | ||
| GitMac | Also in beta. No remarkable features. | ||
| GitX | The classic. | ||
| GitX | Another fork with even more features | ||
| Gity | Simple and straightforward UI. | ||
| Gitti | In beta. Seems to have a decent revision graph. | ||
| gitx | A fork of the traditional GitX with a number of new features | ||
| GitUp | A nice Mac GUI with undo and history editing features | ||
| Multiple | Dulwich | a pure Python implementation | |
| SparkleShare | Wants to be Dropbox as well |
Notes
Dealing with line endings
Use git config –global core.autocrlf input to have git convert files to LF ending when committing (essential if you are dealing with legacy codebases).