6 git-ls-tree - List the contents of a tree object
12 'git ls-tree' [-d] [-r] [-t] [-l] [-z]
13 [--name-only] [--name-status] [--full-name] [--abbrev=[<n>]]
18 Lists the contents of a given tree object, like what "/bin/ls -a" does
19 in the current working directory. Note that:
21 - the behaviour is slightly different from that of "/bin/ls" in that the
22 'paths' denote just a list of patterns to match, e.g. so specifying
23 directory name (without '-r') will behave differently, and order of the
24 arguments does not matter.
26 - the behaviour is similar to that of "/bin/ls" in that the 'paths' is
27 taken as relative to the current working directory. E.g. when you are
28 in a directory 'sub' that has a directory 'dir', you can run 'git
29 ls-tree -r HEAD dir' to list the contents of the tree (that is
30 'sub/dir' in 'HEAD'). You don't want to give a tree that is not at the
31 root level (e.g. 'git ls-tree -r HEAD:sub dir') in this case, as that
32 would result in asking for 'sub/sub/dir' in the 'HEAD' commit.
40 Show only the named tree entry itself, not its children.
43 Recurse into sub-trees.
46 Show tree entries even when going to recurse them. Has no effect
47 if '-r' was not passed. '-d' implies '-t'.
51 Show object size of blob (file) entries.
54 \0 line termination on output.
58 List only filenames (instead of the "long" output), one per line.
61 Instead of showing the full 40-byte hexadecimal object
62 lines, show only handful hexdigits prefix.
63 Non default number of digits can be specified with --abbrev=<n>.
66 Instead of showing the path names relative to the current working
67 directory, show the full path names.
70 When paths are given, show them (note that this isn't really raw
71 pathnames, but rather a list of patterns to match). Otherwise
72 implicitly uses the root level of the tree as the sole path argument.
77 <mode> SP <type> SP <object> TAB <file>
79 When the `-z` option is not used, TAB, LF, and backslash characters
80 in pathnames are represented as `\t`, `\n`, and `\\`, respectively.
82 When the `-l` option is used, format changes to
84 <mode> SP <type> SP <object> SP <object size> TAB <file>
86 Object size identified by <object> is given in bytes, and right-justified
87 with minimum width of 7 characters. Object size is given only for blobs
88 (file) entries; for other entries `-` character is used in place of size.
93 Written by Petr Baudis <pasky@suse.cz>
94 Completely rewritten from scratch by Junio C Hamano <gitster@pobox.com>,
95 another major rewrite by Linus Torvalds <torvalds@osdl.org>
99 Documentation by David Greaves, Junio C Hamano and the git-list
100 <git@vger.kernel.org>.
104 Part of the linkgit:git[1] suite