This sort of thing is how I will never understand the attitude of people who claim that git is not actually confusing and you just have to learn it. If even the titans of kernel development (for whom git was created!) get screwed up, what hope do the rest of us have?
Becoming expert at a tool like git involves building familiarity with the concepts involved. While it's not entirely hidden in the --help and manual pages, the descriptions provided there do not consistently use higher levels semantic descriptions of the transformations. You are REQUIRED to look elsewhere to understand or worse -- develop a privately held theory of what's actually happening.
Culturally, a lot of engineers have a basic ethos of "getting things done". Getting the job of the moment done is a "win". There are tons of how do do XYZ articles that are separated from "why" and unmarried from useful additional context.
Like, one should be proud of learning a new tool, but it shouldn't be a personal endeavor to conquer Everest. I think it would do a LOT of good for tools -- especially collaboration tools -- to have completely standard introductions that the community enforced in collaboration. "Oh you don't know XYZ? You probably haven't read the standard introduction."
[1] https://lore.kernel.org/all/202505312300.95D7D917@keescook/
Linus (rightly-ish) objected to this confusing breach of convention and did the contributor equivalent of a "revert quickly, debug at leisure." Kees (rightly) dug into the puzzle, figured out the problem, and explained it to Linus's (or at least Konstantin's) satisfaction.
https://b4.docs.kernel.org/en/latest/contributor/trailers.ht...
netfortius•1d ago
Could Kees really nuke that tree, if Konstantin disables his account?!?