I've been playing with mercurial lately and the defaults are really interesting.
There's no staging area, so by default 'hg commit' is like 'git commit -a'. Seems beginner friendly.
Also, branches are optional! It's much easier to start working on a feature.
Related Posts
I'm experimenting with jj this weekend. It seems pretty nice so far, but the mental model is pretty different from git.
For example, there's no `checkout` command. You do `jj new ABC` to switch to a commit, which creates a new empty commit on top of ABC.
It's weird that GitHub shows time since the last commit, but not time since the first commit. It's a nice way of seeing how mature a project is.
I'm increasingly doubtful that commit messages should be entirely immutable.
I sometimes find myself editing or commenting on merged pull requests, to help future readers.
Phabricator appended a URL to commit messages, which helped. In principle PR merging could do the same thing.