Yeah, my thought on reading, "I still don't have a proper understanding" is that I'm not sure anybody has that. It seems like you only know too little or too much.
I have only worked with one person really who knew is backwards and forwards. That seemed helpful at first until he used his deep knowledge to try some sort of tricky fix-up and in the process lost some of my work. Given that a version control system's one job is to not lose work, I was very disappointed.
This was 8 years ago, so I just remember us being in some sort of merge pickle, my colleague going, "Ah, git is easy if you just understand it as..." and then jumping in to fix it. Which he'd done a few times before successfully, as he really did understand it well. But this time he did something wrong and data was lost.
He was very apologetic about it, and it wasn't more than a day or two of work, so I was ok with it. But it was one of many experiences that have left me permanently suspicious of doing anything fancy with git. Which is fine, because for a lot of reasons mostly not to do with any particular VCS, I work to keep branching to an absolute minimum.
If he means it in the "I have decided not to take the time to learn this" then yes, it's comforting. Otherwise it's just sad -- I'm sure there are many people who would be willing to tutor him in it in exchange for only the honour of having tutored Kernighan.
Git really is a mess. The fact that commits and not diffs have hashes should be lampooned despite arguably a few small benefits. Geniuses make mistakes too and git is linuses. The only reason git is respected is because it came from Linus. If it were from Microsoft it would get all the criticism it deserves and then 20 times more
I think it would be a little more accurate to say that git is kind of a weird default: it’s a revision control power-user tool with all the sharp corners we expect from such tools and is overkill for most users in most situations. It’s understandable that typical users resent the complexity and the foot cannons.
Whether it’s git or vi/emacs or C or LaTex or whatever, there are a bunch of us old-timers who went through the pain already and now notice the modest loss of capability on hg or VSCode or whatever.
But even as such an old-timer, I don’t think it’s a good idea to default everyone into this low-level shit. Mercurial and VSCode and Python are fine, you can do great work without “the bare metal”.
Edit: Clarified that it’s a “revision control” power-user tool, plenty of “power users” have more typical revision-control needs.
I have only worked with one person really who knew is backwards and forwards. That seemed helpful at first until he used his deep knowledge to try some sort of tricky fix-up and in the process lost some of my work. Given that a version control system's one job is to not lose work, I was very disappointed.