List the contents of a tree object


List the contents of the tree on a branch

$ git ls-tree [branch_name]

List the contents of the tree on a commit, recursing into subtrees

$ git ls-tree -r [commit_hash]

List only the filenames of the tree on a commit

$ git ls-tree --name-only [commit_hash]


gitls -tree [ -d] [ -r] [ -t] [ -l] [ -z] [ --name -only] [ --name -status] [ --full -name] [ --full -tree] [ --abbrev[=<n>]] <tree -ish> [<path> ...]


Lists the contents of a given tree object, like what "/bin/ls -a" does in the current working directory . Note that:
'-04' '+03' .sp -1

2.3 the behaviour is slightly different from that of "/bin/ls" in that the <path> denotes 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 .
'-04' '+03' .sp -1

2.3 the behaviour is similar to that of "/bin/ls" in that the <path> is taken as relative to the current working directory . E .g . when you are in a directory sub that has a directory dir ,you can run gitls -tree -r HEAD dir to list the contents of the tree (that is sub/dir in HEAD ). You don want to give a tree that is not at the root level (e .g . gitls -tree -r HEAD:sub dir )in this case, as that would result in asking for sub/sub/dir in the HEAD commit . However, the current working directory can be ignored by passing --full -tree option .


<tree -ish> Id of a tree -ish .

-d Show only the named tree entry itself, not its children .

-r Recurse into sub -trees .

-t Show tree entries even when going to recurse them . Has no effect if -r was not passed . -d implies -t .

-l, --long Show object size of blob (file) entries .

-z \ 0 line termination on output and do not quote filenames . See OUTPUT FORMAT below for more information .

--name -only, --name -status List only filenames (instead of the "long" output), one per line .

--abbrev[=<n>] Instead of showing the full 40 -byte hexadecimal object lines, show only a partial prefix . Non default number of digits can be specified with --abbrev=<n> .

--full -name Instead of showing the path names relative to the current working directory, show the full path names .

--full -tree Do not limit the listing to the current working directory . Implies --full -name .

[<path> ...] When paths are given, show them (note that this isn 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 .


.RS 4
<mode> SP <type> SP <object> TAB <file> .RE
This output format is compatible with what --index -info --stdin of gitupdate -index expects .
When the -l option is used, format changes to
.RS 4
<mode> SP <type> SP <object> SP <object size> TAB <file> .RE
Object size identified by <object> is given in bytes, and right -justified with minimum width of 7 characters . Object size is given only for blobs (file) entries; for other entries - character is used in place of size .
Without the -z option, pathnames with "unusual" characters are quoted as explained for the configuration variable core.quotePath (see git-config (1)). Using -z the filename is output verbatim and the line is terminated by a NUL byte .


Part of the git (1)suite

Copied to clipboard
free 100$ digital ocean credit