Hacker News new | ask | show | jobs
by stakkur 1395 days ago
It's somewhat comforting to hear even Brian K. say he doesn't understand Git well.
5 comments

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.

Local Man Deletes Files, Leaves Coworkers Very Disappointed
What context do you remember about this scenario that left the reflog a rektlog

Not confined to your local machine?

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.
i'm guessing his issue is not with git porcelain. The actually internals of git are kind of messy.
I came to the comments to say that it’s reassuring. :)
Likewise.
And to be fair he's been a professor for years, not a developer.

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.

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 never quite get this. Why would you want diffs to be the primary artifact?

I’ve always found git to be exceedingly simple in design. Though, the CLI is a quite messy I grant you.