← Back to context

Comment by abraxas

3 days ago

Git. Most people have no need for 95 percent of its features and don't have a good mental model of how it works. Just copy and paste commands to get it to work, more or less.

I have to disagree with this strongly. Git is probably the perfect software. It is designed around a mental model that is exactly matched to its use case. Far from copy pasting experienced developers are often fluent in the git model and use it intentionally. I took a look at the man page out of curiosity given your 95 percent comment and I would agree that the majority of ancillary and log level commands are unused. But looking only at the main porcelain commands I would say I regularly use 80 percent of them.

  • The git model is great but the interface is not carefully designed.

    I think if the interface were better, fewer people would be copy pasting git commands.

    • There's UIs for git. People seem to be embarrassed about using them, but I've always liked them.

Nobody knows how it works, but we have a good mental model of the high level behavior, and we understand the features we actually use.

  • I didn't use to be a religious man. Then I started using git and now I understand the power of prayer.

Git is the one software that I know less about the more I use it. 10+ years now, and every month I learn some new quirk. It very much has that "designed by engineers, for one particular super smart engineer, gl everyone else" vibe. I'm like a 0.5x dev at best and my brain doesn't have enough folds to fit its mental model.

On the other hand, I don't feel punished for not using the complex stuff. Still miss (some parts of) Darcs, though... it was so "user first" compared to this.

A lot of people have taken on git too, but at this point it’s so entrenched I’m not sure it’s going away anytime soon.

Maybe we’ll have more agentic SCM that auto solves merges and all that fun stuff in the future. But for now we are stuck with a pretty challenging piece of software