X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Documentation%2Fgit-ls-files.txt;h=fe8ac1b0e5bf2cd036a4a241fb3812506a99d95c;hb=290252e06341c05fcebb65784ad05c37656ae36d;hp=87cc362ad88a4e65e7216d7db78b3219ddf65df8;hpb=79a9d8ea0d88a3667ad19be8e705405ab5d896f1;p=git.git diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt index 87cc362a..fe8ac1b0 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -3,17 +3,19 @@ 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=] [--] []\* + [--exclude-per-directory=] + [--full-name] [--] []\* DESCRIPTION ----------- @@ -45,16 +47,20 @@ 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. + -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. @@ -70,12 +76,22 @@ OPTIONS -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. --:: Do not interpret any more arguments as options. @@ -100,6 +116,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 ---------------- @@ -110,13 +130,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. @@ -168,12 +188,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] @@ -186,6 +207,7 @@ An example: --exclude='Documentation/*.[0-9]' \ --exclude-from=.git/ignore \ --exclude-per-directory=.gitignore +-------------------------------------------------------------- See Also