[0] https://github.com/gitextensions/gitextensions
[1] https://github.com/gitextensions/gitextensions/wiki/Git-Exte... (2.49, although I just tried 2.50.01 and it seems to work too)
edit: Linux version is a little bit glitchy with UI texts, when pushing to a repository that have commits ahead, the two invisible options are "pull with rebase" and "pull with merge" respectively.
The gui widgets look a little antiquated, but its greatest feature is that it helps you to "do the right thing". It is not just a bunch of features, they have well thought interactions. When something fails, it guides you to correct the problem.
It is quick, opensource, multiplaform, doesn't force you to have an account with online services, comes with the great Kdiff3 and integrates well with online tools and Windows Explorer.
git gui
gitk --all
Those are my two go-tos.It's the only git GUI that has made me consider switching from the CLI interface.
Does more than putting buttons on existing commands
Improves discoverability of interesting combinations of commands and option flags to make higher order commands
I'd love to see an opinionated git GUI that doesn't aim to replicate all the features of the command line, but instead focuses on streamlining the daily work of a software developer working on features and bugs.
or gitk...
So you do backups for something that already functions like a backup system. That's fascinating. Did you know that Git does not lose anything? You might find 'git reflog' useful if you happen to screw up frequently.
Doing a "git branch backup" before doing something stupid gives you a more convenient "undo".
Alternatively, just git clone to a new directory before attempting some insane rebase operation.
I think git would benefit from a type of "training wheels" config, where no action is destructive or irreversible. I've had a few close calls where I almost lost some code due to a git screw-up. Luckily, my local Time Machine backups have always saved my ass.