GIT-CAT-FILE(1)GIT-CAT-FILE(1)NAMEgit-cat-file - Provide content or type and size information for reposi-
tory 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 pro-
vided 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
1
GIT-CAT-FILE(1)GIT-CAT-FILE(1)
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 argu-
ments.
--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
2
GIT-CAT-FILE(1)GIT-CAT-FILE(1)
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: mailto:torvalds@osdl.org>
DOCUMENTATION
Documentation by David Greaves, Junio C Hamano and the git-list
<git@vger.kernel.org: mailto:git@vger.kernel.org>.
GIT
Part of the git(1) suite
3