GIT-CAT-FILE(1)                                                GIT-CAT-FILE(1)



NAME
       git-cat-file - Provide content or type and size information for
       repository objects

SYNOPSIS
       git cat-file (-t | -s | -e | -p | <type> | --textconv ) <object>
       git cat-file (--batch | --batch-check) < <list-of-objects>





DESCRIPTION
       In its first form, the command provides the content or the type of an
       object in the repository. The type is required unless -t or -p is used
       to find the object type, or -s is used to find the object size, or
       --textconv is used (which implies type "blob").


       In the second form, a list of objects (separated by linefeeds) is
       provided on stdin, and the SHA1, type, and size of each object is
       printed on stdout.


OPTIONS
       <object>
              The name of the object to show. For a more complete list of ways
              to spell object names, see the "SPECIFYING REVISIONS" section in
              gitrevisions(7).


       -t     Instead of the content, show the object type identified by
              <object>.


       -s     Instead of the content, show the object size identified by
              <object>.


       -e     Suppress all output; instead exit with zero status if <object>
              exists and is a valid object.


       -p     Pretty-print the contents of <object> based on its type.


       <type> Typically this matches the real type of <object> but asking for
              a type that can trivially be dereferenced from the given
              <object> is also permitted. An example is to ask for a "tree"
              with <object> being a commit object that contains it, or to ask
              for a "blob" with <object> being a tag object that points at it.


       --textconv
              Show the content as transformed by a textconv filter. In this
              case, <object> has be of the form <treeish>:<path>, or :<path>
              in order to apply the filter to the content recorded in the
              index at <path>.


       --batch
              Print the SHA1, type, size, and contents of each object provided
              on stdin. May not be combined with any other options or
              arguments.


       --batch-check
              Print the SHA1, type, and size of each object provided on stdin.
              May not be combined with any other options or arguments.


OUTPUT
       If -t is specified, one of the <type>.


       If -s is specified, the size of the <object> in bytes.


       If -e is specified, no output.


       If -p is specified, the contents of <object> are pretty-printed.


       If <type> is specified, the raw (though uncompressed) contents of the
       <object> will be returned.


       If --batch is specified, output of the following form is printed for
       each object specified on stdin:

       <sha1> SP <type> SP <size> LF
       <contents> LF





       If --batch-check is specified, output of the following form is printed
       for each object specified on stdin:

       <sha1> SP <type> SP <size> LF





       For both --batch and --batch-check, output of the following form is
       printed for each object specified on stdin that does not exist in the
       repository:

       <object> SP missing LF





GIT
       Part of the git(1) suite




                                                               GIT-CAT-FILE(1)
