Git UI's
Posted on Mar. 11, 2024 by Ben Dickson.
Some random Git UI's I use in various circumstances
gitui
A terminal UI, starts up quickly, nice interface for staging lines or chunks
For a long time it lacked the ability to write multi-line commits (at least without pressing a shortcut to open the commit message in an external editor, then saving+closing this), so I had a tiny fork which added a basic shortcut to add this. However as of 0.25 this is now fixed
I don't really use any of the other functionality in it, but as a nicer git commit alone it was useful
magit
Maybe slightly over-hyped but a nice UI within emacs
It does feel a bit heavyweight package to install (if you ignore the irony of calling anything within emacs bloated) - not bad thing, but feels a little like it's fighting against it's environment.
There is an unrelated project based on the same interface, gitu - it seems very early days, but looks promising.
Github Desktop
When working on Linux, and with mostly a single repository project, I mostly used gitui.
Currently working on something which involves a lot of separate repositories, and on Windows, and hsoted on Github - for which using Github Desktop proved about the best fit.
It provides a good overview all the checked out repos - e.g blue dot shows up on repos which have uncommited changes, up and down arrows indicate unpushed or unpulled changes.
I dislike it hides the staging area, instead you uncheck files or deselect lines (which makes it much harder to preview what the resulting commit's diff will be like - but the trade-off is reasonable because it a lot simpler to pickup if unfamiliar with Git's weirdness.
Ye ol' git-gui
I quite often still use git gui occasionally - it's "Amend Commit" option is by far the smoothest implementation of fixing a previous commit (either rewording or adding/removing changes), and for staging lines or commits it also works as well or better than other GUIs.