this post was submitted on 04 Jul 2026
27 points (88.6% liked)
Git
4712 readers
17 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
- Follow programming.dev rules
- Be excellent to each other, no hostility towards users for any reason
- 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
view the rest of the comments
Well it all starts at the very own git developers, since they don't know how git should function, then how to expect anyone else to understand.
E. g. I just turned it in to somewhat functional svn with bunch of git aliases and cope with that.
To be fair, I think those devs have a good idea on how a content-addressable-filesystem-cum-blockchain should work. The primary use-case, Linux kernel development, has very particular needs such as being distributed, allowing complex merge strategies, and being aggressively transparent. That the rest of the world then adopted this particular (D)VCS was mostly an accident.
Back in the before times when git was first new, I was an avid supporter of svk (a perl hack that bolted on distributed qualities to svn). Very useful to have complete server state locally especially for merging. svk worked, but had a lot of foibles, being the hack that it was. When I finally pulled the trigger and migrated repos over to git, even those early versions, reduced the complexity of my setup dramatically. Haven't looked back since. The porcelain of git has improved dramatically over the years (even if I still use
git checkout -b). But it is still very much an expert tool and most users don't engage deeply with it. Which is exactly what the blog post recognizes and laments because the supposed experts aren't.What irks me about it is that they can't even agree on simple things like should it have one command e.g. checkout for multiple things, or should it be separated to multiple (switch, restore, checkout).
They can't agree are they making a tool for idiots or developers so they go from one end (reset) to another(restore).
So users end up with an entangled mess of a overlapping yet not fully covering commands.
Then comes the so-called "expert" saying:
Yet they don't ask themself why do new users think it has too steep learning curve, or an entry barrier.
So calling it "expert" tool is mockery by my standard. (If not obvious I agree with Mira Welner, git is critically overdue for good command clean-up before there can be talk about experts)
Maybe if newcomers had clear image of how git is supposed to work with clean easily explainable set of commands, larger percentage would stay on the wagon, just saying.
I felt they were pretty clear here. checkout is overloaded. switch and restore are the new, simpler ways. I switched (ha) myself and it was painless.
I also get the reluctance to deprecate or delete checkout because the whole world uses it