Git
FreeThe de facto version control system — the whole repository lives on your machine
A distributed version control system that records every change to your files, with branching, merging, reverting and multi-person collaboration. Every clone is a complete repository including the full history, so committing, branching and reading history all work offline. GitHub and GitLab are hosting services; Git itself is independent of them.
Why we picked it
GPL-2.0, written by Linus Torvalds in 2005.
It is in this directory not because it is obscure but because many people treat Git and GitHub as
one thing, assuming version control is a service a platform provides. It is not. Git runs on your own
machine, and a repository created by git init needs no account, no network and nobody's approval.
When a platform goes down, an account is suspended or a company policy changes, the history is still
on your disk.
That is what distributed actually means here: every clone is a complete copy holding every commit from the first to the latest. The same repository can push to GitHub, to a self-hosted Gitea — also in this directory — and to an external drive.
To be clear about:
- The learning curve is steep, particularly rebase, reflog and submodules. lazygit, listed here, puts a terminal UI over it and softens the slope.
- The Windows installer bundles Git Bash, which incidentally solves the missing POSIX shell.