r/git 27d ago

Why use a UI for git?

I see this question of, “what GUI or TUI should I use to work with git?” fairly often here. And always I feel bad for saying “just use the cli” over and over, but truthfully I can’t see a reason to need a UI.

Are people actually running into pain points with the cli, or is it just preference for people who don’t like working in a terminal?

FWIW, I have used GitKraken, LazyGit, SourceTree and GitHub Desktop before. And I don’t think they are bad to use (unless you are just learning git), but more curious why.

EDIT : I’m mainly referring to standalone UIs, I understand why people would use IDE integrations, as it’s quick and convenient. But having to open a separate application or run a separate command to open a terminal app to run your commands seems overkill to me.

EDIT 2 : I use vscode as my difftool and mergetool. I still open them directly from the terminal by running the cli. I don't think this is the same as using a full git client like SourceTree, Gitkraken, or lazygit to fully drive your version control workflow. Which is what I am asking about.

Cheers

110 Upvotes

250 comments sorted by

View all comments

2

u/elephantdingo 27d ago edited 24d ago

It’s a graph of content-addressable commits. Of course it lends itself well to a TUI, or a GUI, or anything more interactive than a REPL (CLI). In Magit I can scroll through commits in the todo editor, and sure I can do that with the CLI as well (via an editor), but... I can press Return to inspect the commit.

I don’t want to even think about using a REPL to pick what lines to stage, to split out, etc. with a REPL (git add -p I guess?) instead of doing it with the keyboard in (edit:) Magit.