Home Explore Blog CI



git

1st chunk of `Documentation/git-ls-files.adoc`
68b786e049912ed7a10fe25d8b364ec37c57b2b7f22e91f40000000100000fa2
git-ls-files(1)
===============

NAME
----
git-ls-files - Show information about files in the index and the working tree


SYNOPSIS
--------
[verse]
'git ls-files' [-z] [-t] [-v] [-f]
		[-c|--cached] [-d|--deleted] [-o|--others] [-i|--ignored]
		[-s|--stage] [-u|--unmerged] [-k|--killed] [-m|--modified]
		[--resolve-undo]
		[--directory [--no-empty-directory]] [--eol]
		[--deduplicate]
		[-x <pattern>|--exclude=<pattern>]
		[-X <file>|--exclude-from=<file>]
		[--exclude-per-directory=<file>]
		[--exclude-standard]
		[--error-unmatch] [--with-tree=<tree-ish>]
		[--full-name] [--recurse-submodules]
		[--abbrev[=<n>]] [--format=<format>] [--] [<file>...]

DESCRIPTION
-----------
This command merges the file listing in the index with the actual working
directory list, and shows different combinations of the two.

Several flags can be used to determine which files are
shown, and each file may be printed multiple times if there are
multiple entries in the index or if multiple statuses are applicable for
the relevant file selection options.

OPTIONS
-------
-c::
--cached::
	Show all files cached in Git's index, i.e. all tracked files.
	(This is the default if no -c/-s/-d/-o/-u/-k/-m/--resolve-undo
	options are specified.)

-d::
--deleted::
	Show files with an unstaged deletion

-m::
--modified::
	Show files with an unstaged modification (note that an unstaged
	deletion also counts as an unstaged modification)

-o::
--others::
	Show other (i.e. untracked) files in the output

-i::
--ignored::
	Show only ignored files in the output.  Must be used with
	either an explicit '-c' or '-o'.  When showing files in the
	index (i.e. when used with '-c'), print only those files
	matching an exclude pattern.  When showing "other" files
	(i.e. when used with '-o'), show only those matched by an
	exclude pattern.  Standard ignore rules are not automatically
	activated; therefore, at least one of the `--exclude*` options
	is required.

-s::
--stage::
	Show staged contents' mode bits, object name and stage number in the output.

--directory::
	If a whole directory is classified as "other", show just its
	name (with a trailing slash) and not its whole contents.
	Has no effect without -o/--others.

--no-empty-directory::
	Do not list empty directories. Has no effect without --directory.

-u::
--unmerged::
	Show information about unmerged files in the output, but do
	not show any other tracked files (forces --stage, overrides
	--cached).

-k::
--killed::
	Show untracked files on the filesystem that need to be removed
	due to file/directory conflicts for tracked files to be able to
	be written to the filesystem.

--resolve-undo::
	Show files having resolve-undo information in the index
	together with their resolve-undo information.  (resolve-undo
	information is what is used to implement "git checkout -m
	$PATH", i.e. to recreate merge conflicts that were
	accidentally resolved)

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

--deduplicate::
	When only filenames are shown, suppress duplicates that may
	come from having multiple stages during a merge, or giving
	`--deleted` and `--modified` option at the same time.
	When any of the `-t`, `--unmerged`, or `--stage` option is
	in use, this option has no effect.

-x <pattern>::
--exclude=<pattern>::
	Skip untracked files matching pattern.
	Note that pattern is a shell wildcard pattern. See EXCLUDE PATTERNS
	below for more information.

-X <file>::
--exclude-from=<file>::
	Read exclude patterns from <file>; 1 per line.

--exclude-per-directory=<file>::
	Read additional exclude patterns that apply only to the
	directory and its subdirectories in <file>.  If you are
	trying to emulate the way Porcelain commands work, using
	the `--exclude-standard` option instead is easier and more
	thorough.

--exclude-standard::
	Add the standard Git exclusions: .git/info/exclude, .gitignore
	in each directory, and the user's global exclusion file.

--error-unmatch::
	If

Title: Git Ls-Files Command
Summary
The git-ls-files command is used to show information about files in the Git index and the working tree, allowing users to view various combinations of files based on their status, such as tracked, untracked, modified, or deleted, with multiple options available to customize the output.