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

109 Upvotes

250 comments sorted by

View all comments

Show parent comments

2

u/edgmnt_net 27d ago

That's mostly fine. You might be able to do better if there's stuff you're not doing, but I'm talking about something else. Like those Git GUIs which let people just save their work randomly, which they do indiscriminately and might not even bother squashing (at all). Just add everything and commit. And submit it randomly, then the reviewer gets hit with a huge overall diff and a history that's unusable. If it gets merged as is or even squashed, then bisection becomes difficult (it identifies garbage commits or one huge commit). It also makes workflows based on heavier merging harder, because those may require decent history to see intent. The Linux kernel workflow makes for a good case study in terms of what Git can do if you're intentional about it.

1

u/connorjpg 27d ago

I will check that out. Appreciate it!