git

The SCM du jour, which replaced 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

DatePlatformLinkNotes
2026prek

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, Windowsgit-bug

Distributed, offline-first bug tracker integrated with Git, with CLI, terminal and web UIs, and bridges for GitHub, GitLab, Jira, and Launchpad

Serverwalgithub

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

2025Gitblit

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.

MacGitbox

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

MultipleDulwich

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

This page is referenced in: