git-cat-file(1)
===============

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


SYNOPSIS
--------
[verse]
'git cat-file' [-t | -s | -e | -p | <type>] <object>
'git cat-file' [--batch | --batch-check] < <list-of-objects>

DESCRIPTION
-----------
In the first form, provides content or type of objects 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 object (separated by LFs) 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
	"SPECIFYING REVISIONS" section in linkgit: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:

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

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 linkgit:git[1] suite
