Introduzione
Git è diviso in due strati. I comandi plumbing sono mattoni di basso livello che operano sul database degli oggetti, sui ref e sull'index. I comandi porcelain sono wrapper amichevoli costruiti dal plumbing. git commit è porcelain; git hash-object, git write-tree e git update-ref sono plumbing.