<sha1> SP <type> SP <size> LF <contents> LF
git-cat-file - Provide content or type and size information for repository objects
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.
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).
Instead of the content, show the object type identified by <object>.
Instead of the content, show the object size identified by <object>.
Suppress all output; instead exit with zero status if <object> exists and is a valid object.
Pretty-print the contents of <object> based on its 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.
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>.
Print the SHA1, type, size, and contents of each object provided on stdin. May not be combined with any other options or arguments.
Print the SHA1, type, and size of each object provided on stdin. May not be combined with any other options or arguments.
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
Part of the git(1) suite