X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-ls-files.txt;h=a29c633c8dfd15ee4bd3c8f4ae7aeceef91ea7fe;hb=021b6e454944a4fba878651ebf9bfe0a3f6c3077;hp=591f4ed462dea070c3f5d264b1b96d7edd70d063;hpb=b0391890d25d9e7ca8f7df2199292df68ead8093;p=git.git diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt index 591f4ed4..a29c633c 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -3,17 +3,20 @@ git-ls-files(1) 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] +[verse] +'git-ls-files' [-z] [-t] [-v] (--[cached|deleted|others|ignored|stage|unmerged|killed|modified])\* (-[c|d|o|i|s|u|k|m])\* [-x |--exclude=] [-X |--exclude-from=] [--exclude-per-directory=] + [--error-unmatch] + [--full-name] [--abbrev] [--] []\* DESCRIPTION ----------- @@ -45,16 +48,23 @@ OPTIONS -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-cache to + to file/directory conflicts for checkout-index to succeed. -z:: - \0 line termination on output + \0 line termination on output. -x|--exclude=:: Skips files matching pattern. @@ -67,15 +77,41 @@ OPTIONS read additional exclude patterns that apply only to the directory and its subdirectories in . +--error-unmatch:: + If any does not appear in the index, treat this as an + error (return 1). + -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 modifed/changed - K to be killed - ? other + 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 'always matching index'. + +--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[=]:: + 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=. + +\--:: + Do not interpret any more arguments as options. + +:: + Files to show. If no files are given all files which match the other + specified criteria are shown. Output ------ @@ -93,6 +129,10 @@ the dircache records up to three such pairs; one from tree O in stage 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 ---------------- @@ -103,13 +143,13 @@ flags --others or --ignored are specified. These exclude patterns come from these places: - (1) command line flag --exclude= specifies a single + 1. command line flag --exclude= specifies a single pattern. - (2) command line flag --exclude-from= specifies a list of + 2. command line flag --exclude-from= specifies a list of patterns stored in a file. - (3) command line flag --exclude-per-directory= specifies + 3. command line flag --exclude-per-directory= 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. @@ -161,12 +201,13 @@ An exclude pattern is of the following format: - 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] @@ -179,6 +220,7 @@ An example: --exclude='Documentation/*.[0-9]' \ --exclude-from=.git/ignore \ --exclude-per-directory=.gitignore +-------------------------------------------------------------- See Also