Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GIT-LS-TREE(1)			  Git Manual			GIT-LS-TREE(1)

       git-ls-tree - List the contents of a tree object

       git ls-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:

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

       o   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	git
	   ls-tree -r HEAD dir to list the contents of the tree	(that is
	   sub/dir in HEAD). You don't want to give a tree that	is not at the
	   root	level (e.g.  git ls-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.

	   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.

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

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

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

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

	   Do not limit	the listing to the current working directory. Implies

	   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

	   <mode> SP <type> SP <object>	TAB <file>

       This output format is compatible	with what --index-info --stdin of git
       update-index expects.

       When the	-l option is used, format changes to

	   <mode> SP <type> SP <object>	SP <object size> TAB <file>

       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

Git 2.28.0			  07/26/2020			GIT-LS-TREE(1)


Want to link to this manual page? Use this URL:

home | help