git-ls-files(1)
===============
-v0.1, May 2005
NAME
----
-git-ls-files - Information about files in the cache/working directory
+git-ls-files - Information about files in the index/working directory
SYNOPSIS
--------
'git-ls-files' [-z] [-t]
- (--[cached|deleted|others|ignored|stage|unmerged|killed])\*
- (-[c|d|o|i|s|u|k])\*
+ (--[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-per-directory=<file>]
+ [--full-name] [--] [<file>]\*
DESCRIPTION
-----------
-d|--deleted::
Show deleted files in the output
+-m|--modified::
+ Show modified files in the output
+
-o|--others::
Show other files in the output
-k|--killed::
Show files on the filesystem that need to be removed due
- to file/directory conflicts for checkout-cache to
+ to file/directory conflicts for checkout-index to
succeed.
-z::
- \0 line termination on output
+ \0 line termination on output.
-x|--exclude=<pattern>::
Skips files matching pattern.
-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
- K to be killed
+ H:: cached
+ M:: unmerged
+ R:: removed/deleted
+ C:: modified/changed
+ K:: to be killed
? other
+--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.
+
+--::
+ 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
the dircache 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 read-cache for more information on state)
+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
These exclude patterns come from these places:
- (1) command line flag --exclude=<pattern> specifies a single
+ 1. command line flag --exclude=<pattern> specifies a single
pattern.
- (2) command line flag --exclude-from=<file> specifies a list of
+ 2. command line flag --exclude-from=<file> specifies a list of
patterns stored in a file.
- (3) command line flag --exclude-per-directory=<name> specifies
+ 3. command line flag --exclude-per-directory=<name> specifies
a name of the file in each directory 'git-ls-files'
examines, and if exists, its contents are used as an
additional list of patterns.
- otherwise, it is a shell glob pattern, suitable for
consumption by fnmatch(3) with FNM_PATHNAME flag. I.e. a
slash in the pattern must match a slash in the pathname.
- "Documentation/*.html" matches "Documentation/git.html" but
+ "Documentation/\*.html" matches "Documentation/git.html" but
not "ppc/ppc.html". As a natural exception, "/*.c" matches
"cat-file.c" but not "mozilla-sha1/sha1.c".
An example:
+--------------------------------------------------------------
$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
--exclude='Documentation/*.[0-9]' \
--exclude-from=.git/ignore \
--exclude-per-directory=.gitignore
+--------------------------------------------------------------
See Also
--------
-link:read-cache.html[read-cache]
+gitlink:git-read-tree[1]
Author
GIT
---
-Part of the link:git.html[git] suite
+Part of the gitlink:git[7] suite