| 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] | 
 | 		(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])\* | 
 | 		(-[c|d|o|i|s|u|k|m])\* | 
 | 		[-x <pattern>|--exclude=<pattern>] | 
 | 		[-X <file>|--exclude-from=<file>] | 
 | 		[--exclude-per-directory=<file>] | 
 | 		[--exclude-standard] | 
 | 		[--error-unmatch] [--with-tree=<tree-ish>] | 
 | 		[--full-name] [--abbrev] [--] [<file>]\* | 
 |  | 
 | DESCRIPTION | 
 | ----------- | 
 | This merges the file listing in the directory cache index with the | 
 | actual working directory list, and shows different combinations of the | 
 | two. | 
 |  | 
 | One or more of the options below may be used to determine the files | 
 | shown: | 
 |  | 
 | OPTIONS | 
 | ------- | 
 | -c|--cached:: | 
 | 	Show cached files in the output (default) | 
 |  | 
 | -d|--deleted:: | 
 | 	Show deleted files in the output | 
 |  | 
 | -m|--modified:: | 
 | 	Show modified files in the output | 
 |  | 
 | -o|--others:: | 
 | 	Show other files in the output | 
 |  | 
 | -i|--ignored:: | 
 | 	Show ignored files in the output. | 
 | 	Note that this also reverses any exclude list present. | 
 |  | 
 | -s|--stage:: | 
 | 	Show stage files 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. | 
 |  | 
 | --no-empty-directory:: | 
 | 	Do not list empty directories. Has no effect without --directory. | 
 |  | 
 | -u|--unmerged:: | 
 | 	Show unmerged files in the output (forces --stage) | 
 |  | 
 | -k|--killed:: | 
 | 	Show files on the filesystem that need to be removed due | 
 | 	to file/directory conflicts for checkout-index to | 
 | 	succeed. | 
 |  | 
 | -z:: | 
 | 	\0 line termination on output. | 
 |  | 
 | -x|--exclude=<pattern>:: | 
 | 	Skips files matching pattern. | 
 | 	Note that pattern is a shell wildcard pattern. | 
 |  | 
 | -X|--exclude-from=<file>:: | 
 | 	exclude patterns are read from <file>; 1 per line. | 
 |  | 
 | --exclude-per-directory=<file>:: | 
 | 	read additional exclude patterns that apply only to the | 
 | 	directory and its subdirectories in <file>. | 
 |  | 
 | --exclude-standard:: | 
 | 	Add the standard git exclusions: .git/info/exclude, .gitignore | 
 | 	in each directory, and the user's global exclusion file. | 
 |  | 
 | --error-unmatch:: | 
 | 	If any <file> does not appear in the index, treat this as an | 
 | 	error (return 1). | 
 |  | 
 | --with-tree=<tree-ish>:: | 
 | 	When using --error-unmatch to expand the user supplied | 
 | 	<file> (i.e. path pattern) arguments to paths, pretend | 
 | 	that paths which were removed in the index since the | 
 | 	named <tree-ish> are still present.  Using this option | 
 | 	with `-s` or `-u` options does not make any sense. | 
 |  | 
 | -t:: | 
 | 	Identify the file status with the following tags (followed by | 
 | 	a space) at the start of each line: | 
 | 	H::	cached | 
 | 	M::	unmerged | 
 | 	R::	removed/deleted | 
 | 	C::	modified/changed | 
 | 	K::	to be killed | 
 | 	?::	other | 
 |  | 
 | -v:: | 
 | 	Similar to `-t`, but use lowercase letters for files | 
 | 	that are marked as 'assume unchanged' (see | 
 | 	linkgit:git-update-index[1]). | 
 |  | 
 | --full-name:: | 
 | 	When run from a subdirectory, the command usually | 
 | 	outputs paths relative to the current directory.  This | 
 | 	option forces paths to be output relative to the project | 
 | 	top directory. | 
 |  | 
 | --abbrev[=<n>]:: | 
 | 	Instead of showing the full 40-byte hexadecimal object | 
 | 	lines, show only handful hexdigits prefix. | 
 | 	Non default number of digits can be specified with --abbrev=<n>. | 
 |  | 
 | \--:: | 
 | 	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 | 
 | ------ | 
 | show files just outputs the filename unless '--stage' is specified in | 
 | which case it outputs: | 
 |  | 
 |         [<tag> ]<mode> <object> <stage> <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/SHA1 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 git-read-tree for more information on state) | 
 |  | 
 | When `-z` option is not used, TAB, LF, and backslash characters | 
 | in pathnames are represented as `\t`, `\n`, and `\\`, | 
 | respectively. | 
 |  | 
 |  | 
 | Exclude Patterns | 
 | ---------------- | 
 |  | 
 | 'git-ls-files' can use a list of "exclude patterns" when | 
 | traversing the directory tree and finding files to show when the | 
 | flags --others or --ignored are specified.  linkgit:gitignore[5] | 
 | specifies the format of exclude patterns. | 
 |  | 
 | These exclude patterns come from these places, in order: | 
 |  | 
 |   1. The command line flag --exclude=<pattern> specifies a | 
 |      single pattern.  Patterns are ordered in the same order | 
 |      they appear in the command line. | 
 |  | 
 |   2. The command line flag --exclude-from=<file> specifies a | 
 |      file containing a list of patterns.  Patterns are ordered | 
 |      in the same order they appear in the file. | 
 |  | 
 |   3. command line flag --exclude-per-directory=<name> specifies | 
 |      a name of the file in each directory 'git-ls-files' | 
 |      examines, normally `.gitignore`.  Files in deeper | 
 |      directories take precedence.  Patterns are ordered in the | 
 |      same order they appear in the files. | 
 |  | 
 | A pattern specified on the command line with --exclude or read | 
 | from the file specified with --exclude-from is relative to the | 
 | top of the directory tree.  A pattern read from a file specified | 
 | by --exclude-per-directory is relative to the directory that the | 
 | pattern file appears in. | 
 |  | 
 | See Also | 
 | -------- | 
 | linkgit:git-read-tree[1], linkgit:gitignore[5] | 
 |  | 
 |  | 
 | Author | 
 | ------ | 
 | Written by Linus Torvalds <torvalds@osdl.org> | 
 |  | 
 | Documentation | 
 | -------------- | 
 | Documentation by David Greaves, Junio C Hamano, Josh Triplett, and the git-list <git@vger.kernel.org>. | 
 |  | 
 | GIT | 
 | --- | 
 | Part of the linkgit:git[7] suite |