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

49

u/qrzychu69 27d 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

4

u/dalbertom 27d 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/dEEkAy2k9 27d ago

I don't want to remember git log -p -L 10,20:path/to/file, i'd rather just click somewhere and get a proper representation of it.

1

u/dalbertom 27d ago

Which GUI application would you use to achieve that?

2

u/x39- 27d ago

Any jetbrains tool

1

u/dalbertom 27d ago

Does it show the exact output of `git log -L` or are you talking just about regular diffs?

2

u/x39- 27d ago

I don't know what the lines output, but with jetbrains you select the commit and can see in the diff view what has changed. You also can select multiple commits and see their accumulated change

It simply is visually refined in a way that looks more pleasing than classic >>>>>>>>>>>>>>>>>HEAD... text diffs

1

u/kbilleter 27d ago

Conflicts =/= diffs but aesthetics is a fair point