blob: f283bacb6557fe7c1313912402f60e3a1560d04a [file] [log] [blame]
git-ls-tree - Lists the contents of a tree object
'git-ls-tree' [-d] [-r] [-t] [-z]
[--name-only] [--name-status] [--full-name] [--abbrev=[<n>]]
<tree-ish> [paths...]
Lists the contents of a given tree object, like what "/bin/ls -a" does
in the current working directory. Note that the usage is subtly different,
though - 'paths' denote just a list of patterns to match, e.g. so specifying
directory name (without '-r') will behave differently, and order of the
arguments does not matter.
Id of a tree-ish.
Show only the named tree entry itself, not its children.
Recurse into sub-trees.
Show tree entries even when going to recurse them. Has no effect
if '-r' was not passed. '-d' implies '-t'.
\0 line termination on output.
List only filenames (instead of the "long" output), one per line.
Instead of showing the full 40-byte hexadecimal object
lines, show only handful hexdigits prefix.
Non default number of digits can be specified with --abbrev=<n>.
Instead of showing the path names relative to the current working
directory, show the full path names.
When paths are given, show them (note that this isn't really raw
pathnames, but rather a list of patterns to match). Otherwise
implicitly uses the root level of the tree as the sole path argument.
Output Format
<mode> SP <type> SP <object> TAB <file>
When the `-z` option is not used, TAB, LF, and backslash characters
in pathnames are represented as `\t`, `\n`, and `\\`, respectively.
Written by Petr Baudis <>
Completely rewritten from scratch by Junio C Hamano <>,
another major rewrite by Linus Torvalds <>
Documentation by David Greaves, Junio C Hamano and the git-list
Part of the gitlink:git[7] suite