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.
Not confined to your local machine?
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.
When I took my undergrad roughly a decade ago, github was already a thing but our courses were still using subversion.
Academia is slow to adopt new tools.
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’ve always found git to be exceedingly simple in design. Though, the CLI is a quite messy I grant you.