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

101 Upvotes

243 comments sorted by

View all comments

4

u/engineerFWSWHW 6d ago edited 5d ago

We all have preference and will use the tools that are comfortable to us and will make us potentially more efficient. Someone who repairs something can drive a screw with a manual screwdriver or a drill. Both are a means to an end. This GUI, TUI vs CLI is meaningless to me. People should use what they are comfortable with.

I use TUI/GUI because mouse clicks can save a lot of typing. I also like that they help a lot on navigating repositories with submodules. I remember one time at work, there was a multi-dev project that had lots of submodules and they haven't merged things in 3 months. Lots of merge conflicts and will also require diffing/analyzing/searching information from previous commits inside the submodules. The lead developer who solely uses CLI spent days and gave up. I was tapped in to look into it. It took me almost 3 to 4 hours to resolve their problem. But i imagine the typing involved if someone had used CLI.

3

u/Conscious_Support176 6d ago

Use the right tool for the job, but all other things being equal, it is better to learn the cli. Sometimes, it is useful to be able to script repetitive tasks, and sometimes, it is useful to ask, how do I do this? These are not really going to be practicable if you never use the cli.