@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.