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.

Follow

@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
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml