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>] <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. 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 git-rev-parse(1).

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

--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:

    .ft C
    <sha1> SP <type> SP <size> LF
    <contents> LF
    .ft
If --batch-check is specified, output of the following form is printed for each object specified on stdin:

    .ft C
    <sha1> SP <type> SP <size> LF
    .ft
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:

    .ft C
    <object> SP missing LF
    .ft

AUTHOR
Written by Linus Torvalds <torvalds@osdl.org>

DOCUMENTATION
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
Part of the git(1) suite