Documentation / git-cat-file.txton commit Merge branch 'jc/maint-1.6.6-pathspec-stdin-and-cmdline' (25197eb)
   1git-cat-file(1)
   2===============
   3
   4NAME
   5----
   6git-cat-file - Provide content or type and size information for repository objects
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git cat-file' (-t | -s | -e | -p | <type> | --textconv ) <object>
  13'git cat-file' (--batch | --batch-check) < <list-of-objects>
  14
  15DESCRIPTION
  16-----------
  17In its first form, the command provides the content or the type of an object in
  18the repository. The type is required unless '-t' or '-p' is used to find the
  19object type, or '-s' is used to find the object size, or '--textconv' is used
  20(which implies type "blob").
  21
  22In the second form, a list of objects (separated by linefeeds) is provided on
  23stdin, and the SHA1, type, and size of each object is printed on stdout.
  24
  25OPTIONS
  26-------
  27<object>::
  28        The name of the object to show.
  29        For a more complete list of ways to spell object names, see
  30        the "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
  31
  32-t::
  33        Instead of the content, show the object type identified by
  34        <object>.
  35
  36-s::
  37        Instead of the content, show the object size identified by
  38        <object>.
  39
  40-e::
  41        Suppress all output; instead exit with zero status if <object>
  42        exists and is a valid object.
  43
  44-p::
  45        Pretty-print the contents of <object> based on its type.
  46
  47<type>::
  48        Typically this matches the real type of <object> but asking
  49        for a type that can trivially be dereferenced from the given
  50        <object> is also permitted.  An example is to ask for a
  51        "tree" with <object> being a commit object that contains it,
  52        or to ask for a "blob" with <object> being a tag object that
  53        points at it.
  54
  55--textconv::
  56        Show the content as transformed by a textconv filter. In this case,
  57        <object> has be of the form <treeish>:<path>, or :<path> in order
  58        to apply the filter to the content recorded in the index at <path>.
  59
  60--batch::
  61        Print the SHA1, type, size, and contents of each object provided on
  62        stdin. May not be combined with any other options or arguments.
  63
  64--batch-check::
  65        Print the SHA1, type, and size of each object provided on stdin. May not
  66        be combined with any other options or arguments.
  67
  68OUTPUT
  69------
  70If '-t' is specified, one of the <type>.
  71
  72If '-s' is specified, the size of the <object> in bytes.
  73
  74If '-e' is specified, no output.
  75
  76If '-p' is specified, the contents of <object> are pretty-printed.
  77
  78If <type> is specified, the raw (though uncompressed) contents of the <object>
  79will be returned.
  80
  81If '--batch' is specified, output of the following form is printed for each
  82object specified on stdin:
  83
  84------------
  85<sha1> SP <type> SP <size> LF
  86<contents> LF
  87------------
  88
  89If '--batch-check' is specified, output of the following form is printed for
  90each object specified on stdin:
  91
  92------------
  93<sha1> SP <type> SP <size> LF
  94------------
  95
  96For both '--batch' and '--batch-check', output of the following form is printed
  97for each object specified on stdin that does not exist in the repository:
  98
  99------------
 100<object> SP missing LF
 101------------
 102
 103GIT
 104---
 105Part of the linkgit:git[1] suite