• 0 Posts
  • 3 Comments
Joined 6 months ago
cake
Cake day: May 25th, 2026

help-circle
  • The man page sheds a bit of light, but basically it the stuff on top of the core git functionality.

    LOW-LEVEL COMMANDS (PLUMBING)
           Although Git includes its own porcelain layer, its low-level commands are sufficient to support development of alternative
           porcelains. Developers of such porcelains might start by reading about git-update-index(1) and git-read-tree(1).
    
           The interface (input, output, set of options and the semantics) to these low-level commands are meant to be a lot more stable
           than Porcelain level commands, because these commands are primarily for scripted use. The interface to Porcelain commands on the
           other hand are subject to change in order to improve the end user experience.
    

    Related, but not to be confused with the --porcelain option available for some git commands. Eg, from the man page for git status:

           --porcelain[=<version>]
               Give the output in an easy-to-parse format for scripts. This is similar to the short output, but will remain stable across
               Git versions and regardless of user configuration. See below for details.
    

    Like it says, if you’re doing any kind of scripting this will remove weird escape codes to make parsing the output easier.