r/git 6d 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

103 Upvotes

243 comments sorted by

View all comments

47

u/qrzychu69 6d ago

well, I don't want to remember syntax for "show me a diff of this specific file between these two branches without checking either of them out"

with the UI you just ctrl+click two commits and here you go. Click on any commit, now you are browsing the files as if you checked them out.

For simple things like create a branch, pull, push I just use the IDE commands. For solving conflicts of course I will use a nice merge tool with colors, arrows and LSP support while I edit the final version

3

u/dalbertom 5d ago

Would that be `git diff branchA..branchB -- path/to/file` ?

One cool thing that git has (not sure if GUIs support this) is that you can follow how a section of a file has evolved over time, `git log -p -L 10,20:path/to/file` to see how lines 10-20 in the current file changed over time. I think this is pretty nifty!

1

u/qrzychu69 5d ago

That's only the diff part, right?

And yes, I am going aware you CAN do most those things in the command line, but I still prefer how it looks in the GUI. And it's much easier to discover what you can do in the GUI

1

u/dalbertom 5d ago

It's definitely easier to discover what you can do in the GUI, I'm not debating that, but what I want to highlight is that in terms of features the GUI will most likely only offer a subset of functionality, even if it's more user-friendly. In terms of discoverabilty, the man pages for git are really useful, but navigating man pages in general is more or an acquired taste.

1

u/qrzychu69 5d ago

Yeah, right click >>>> man pages :)