this post was submitted on 04 Jul 2026
27 points (88.6% liked)

Git

4712 readers
14 users here now

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Resources

Rules

  1. Follow programming.dev rules
  2. Be excellent to each other, no hostility towards users for any reason
  3. No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.

Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] FizzyOrange@programming.dev 11 points 1 week ago (2 children)

That's a lot of words. I think the reasons are pretty simple:

  1. Some people just don't care.
  2. The Git CLI is poorly designed e.g. the many different ways to delete something.
  3. Some Git concepts are very poorly named, e.g. the "index", "ours/theirs". This adds to the confusion.
  4. There are many Git GUIs but only a very small number of actually decent ones (if you're wondering: GitX, SourceGit, Git Extensions, and the Git Graph VSCode extension).
  5. There are a lot of idiots out there telling people not to use Git GUIs, when they are clearly the best way to learn how to use Git. Its easy to get into a mess if you can't see what you're doing.
  6. Git isn't actually as simple as us pros would like to think. The underlying model and even the implementation isn't too complex (I've written a Git client form scratch; not too hard apart from the lack of specs/docs). But you can easily get into a state where you're pulling from a remote and someone else has pushed to the same branch so you need to resolve that (oh btw don't do what Git tells you to!), and maybe it involves submodules too, and you basically need to fully understand Git's model and be pretty good at the awful CLI too to resolve it.
[–] nek0d3r@midwest.social 2 points 1 week ago

+1 on the Git Graph extension. Love it as a daily driver.

[–] calcopiritus@lemmy.world 2 points 1 week ago (1 children)

The GUI thing is basically a religion.

I've mentored plenty of juniors that could barely commit+push.

Whenever they ask me for help to do anything remotely complicated the conversation is always the same.

+ you have to click here, then click there

- but how do I do it in the CLI though?

+ Idk, I barely use the CLI. I believe it's some git command. But you can easily do it in the GUI, it's 2 clicks

- that didn't work <wastes 20 minutes trying to make it work>

+ Fine, I'll search for the command.

<5 mins later>

+ Here is the command

- that worked!

Every. Fucking. Time.

[–] FizzyOrange@programming.dev 1 points 1 week ago* (last edited 1 week ago)

Yeah also people get into a mess and don't understand the state of the repo. Like they're organising files without ever running ls. If you ask these CLI fanatics for the solution they'll say "you don't need a GUI, just run git log --tree --oneline --decorate --all"... which is just a poor man's GUI.