I hear the "you shouldn't have to learn how your engine works just to drive a car" argument often used to counter my insistence on learning git's internals to understand its externals.

My response: git is a tool for professionals. Racecar drivers should definitely understand how engines work. Amateur users of version control systems are using the undo and redo buttons in a Google Document. Git is a professional tool and if you're a professional then you have a professional obligation to learn your tools properly.

@sir I think it's a confusion about what "git internals" really means. git plumbing != git's implementation details. git is a data structure manipulation tool, so you should know how that data structure looks like to use it effectively. It would be more like saying "you don't have to know how velocity works just to drive a car".


@dos And yet, most people don't want to know blob-tree-commit-ref in order to be able to share their code.

The plumbing *is* internal. The very name indicates the intent to make it internal. You don't have to know how plumbing works to take a shit.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!