Home Explore Blog CI



git

3rd chunk of `Documentation/git-ls-files.adoc`
d068d70c53f94a4a0135aed84c56871524abfd858b350c6f0000000100000c03
	Instead of showing the full 40-byte hexadecimal object
	lines, show the shortest prefix that is at least '<n>'
	hexdigits long that uniquely refers the object.
	Non default number of digits can be specified with --abbrev=<n>.

--debug::
	After each line that describes a file, add more data about its
	cache entry.  This is intended to show as much information as
	possible for manual inspection; the exact format may change at
	any time.

--eol::
	Show <eolinfo> and <eolattr> of files.
	<eolinfo> is the file content identification used by Git when
	the "text" attribute is "auto" (or not set and core.autocrlf is not false).
	<eolinfo> is either "-text", "none", "lf", "crlf", "mixed" or "".
+
"" means the file is not a regular file, it is not in the index or
not accessible in the working tree.
+
<eolattr> is the attribute that is used when checking out or committing,
it is either "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf".
Since Git 2.10 "text=auto eol=lf" and "text=auto eol=crlf" are supported.
+
Both the <eolinfo> in the index ("i/<eolinfo>")
and in the working tree ("w/<eolinfo>") are shown for regular files,
followed by the  ("attr/<eolattr>").

--sparse::
	If the index is sparse, show the sparse directories without expanding
	to the contained files. Sparse directories will be shown with a
	trailing slash, such as "x/" for a sparse directory "x".

--format=<format>::
	A string that interpolates `%(fieldname)` from the result being shown.
	It also interpolates `%%` to `%`, and `%xXX` where `XX` are hex digits
	interpolates to character with hex code `XX`; for example `%x00`
	interpolates to `\0` (NUL), `%x09` to `\t` (TAB) and %x0a to `\n` (LF).
	--format cannot be combined with `-s`, `-o`, `-k`, `-t`, `--resolve-undo`
	and `--eol`.
\--::
	Do not interpret any more arguments as options.

<file>::
	Files to show. If no files are given all files which match the other
	specified criteria are shown.

OUTPUT
------
'git ls-files' just outputs the filenames unless `--stage` is specified in
which case it outputs:

        [<tag> ]<mode> <object> <stage> <file>

'git ls-files --eol' will show
	i/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><file>

'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine
detailed information on unmerged paths.

For an unmerged path, instead of recording a single mode/SHA-1 pair,
the index records up to three such pairs; one from tree O in stage
1, A in stage 2, and B in stage 3.  This information can be used by
the user (or the porcelain) to see what should eventually be recorded at the
path. (see linkgit:git-read-tree[1] for more information on state)

Without the `-z` option, pathnames with "unusual" characters are
quoted as explained for the configuration variable `core.quotePath`
(see linkgit:git-config[1]).  Using `-z` the filename is output
verbatim and the line is terminated by a NUL byte.

It is possible to print in a custom format by using the `--format`
option, which is able to interpolate different fields using
a `%(fieldname)`

Title: Git Ls-Files Command Options and Output
Summary
The git ls-files command provides various options to customize its output, including abbreviating object names, debugging, showing end-of-line information, and formatting the output, as well as options to specify files, stages, and unmerged paths, with customizable output formats and quoting of unusual characters.