Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-ls-files(1) |
| 2 | =============== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Junio C Hamano | 7c73c66 | 2007-01-19 00:37:50 | [diff] [blame] | 6 | git-ls-files - Show information about files in the index and the working tree |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 11 | [verse] |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 12 | 'git ls-files' [-z] [-t] [-v] |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 13 | (--[cached|deleted|others|ignored|stage|unmerged|killed|modified])\* |
| 14 | (-[c|d|o|i|s|u|k|m])\* |
| 15 | [-x <pattern>|--exclude=<pattern>] |
| 16 | [-X <file>|--exclude-from=<file>] |
Junio C Hamano | 5c3957e | 2006-03-28 00:28:01 | [diff] [blame] | 17 | [--exclude-per-directory=<file>] |
Junio C Hamano | ff97979 | 2007-11-16 10:11:30 | [diff] [blame] | 18 | [--exclude-standard] |
Junio C Hamano | 58155b4 | 2007-09-15 07:46:14 | [diff] [blame] | 19 | [--error-unmatch] [--with-tree=<tree-ish>] |
Junio C Hamano | 5c3957e | 2006-03-28 00:28:01 | [diff] [blame] | 20 | [--full-name] [--abbrev] [--] [<file>]\* |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 21 | |
| 22 | DESCRIPTION |
| 23 | ----------- |
| 24 | This merges the file listing in the directory cache index with the |
| 25 | actual working directory list, and shows different combinations of the |
| 26 | two. |
| 27 | |
| 28 | One or more of the options below may be used to determine the files |
| 29 | shown: |
| 30 | |
| 31 | OPTIONS |
| 32 | ------- |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 33 | -c:: |
| 34 | --cached:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 35 | Show cached files in the output (default) |
| 36 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 37 | -d:: |
| 38 | --deleted:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 39 | Show deleted files in the output |
| 40 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 41 | -m:: |
| 42 | --modified:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 43 | Show modified files in the output |
| 44 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 45 | -o:: |
| 46 | --others:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 47 | Show other files in the output |
| 48 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 49 | -i:: |
| 50 | --ignored:: |
Junio C Hamano | 3d30fd5 | 2007-05-08 00:32:53 | [diff] [blame] | 51 | Show ignored files in the output. |
| 52 | Note that this also reverses any exclude list present. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 53 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 54 | -s:: |
| 55 | --stage:: |
Junio C Hamano | 90ccff3 | 2008-07-29 08:17:24 | [diff] [blame] | 56 | Show staged contents' object name, mode bits and stage number in the output. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 57 | |
Junio C Hamano | a6331a8 | 2006-01-22 07:50:33 | [diff] [blame] | 58 | --directory:: |
| 59 | If a whole directory is classified as "other", show just its |
| 60 | name (with a trailing slash) and not its whole contents. |
| 61 | |
Junio C Hamano | f02e09f | 2006-03-27 07:51:03 | [diff] [blame] | 62 | --no-empty-directory:: |
| 63 | Do not list empty directories. Has no effect without --directory. |
| 64 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 65 | -u:: |
| 66 | --unmerged:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 67 | Show unmerged files in the output (forces --stage) |
| 68 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 69 | -k:: |
| 70 | --killed:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 71 | Show files on the filesystem that need to be removed due |
| 72 | to file/directory conflicts for checkout-index to |
| 73 | succeed. |
| 74 | |
| 75 | -z:: |
| 76 | \0 line termination on output. |
| 77 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 78 | -x <pattern>:: |
| 79 | --exclude=<pattern>:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 80 | Skips files matching pattern. |
| 81 | Note that pattern is a shell wildcard pattern. |
| 82 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 83 | -X <file>:: |
| 84 | --exclude-from=<file>:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 85 | exclude patterns are read from <file>; 1 per line. |
| 86 | |
| 87 | --exclude-per-directory=<file>:: |
| 88 | read additional exclude patterns that apply only to the |
| 89 | directory and its subdirectories in <file>. |
| 90 | |
Junio C Hamano | ff97979 | 2007-11-16 10:11:30 | [diff] [blame] | 91 | --exclude-standard:: |
| 92 | Add the standard git exclusions: .git/info/exclude, .gitignore |
| 93 | in each directory, and the user's global exclusion file. |
| 94 | |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 95 | --error-unmatch:: |
| 96 | If any <file> does not appear in the index, treat this as an |
| 97 | error (return 1). |
| 98 | |
Junio C Hamano | 58155b4 | 2007-09-15 07:46:14 | [diff] [blame] | 99 | --with-tree=<tree-ish>:: |
| 100 | When using --error-unmatch to expand the user supplied |
| 101 | <file> (i.e. path pattern) arguments to paths, pretend |
| 102 | that paths which were removed in the index since the |
| 103 | named <tree-ish> are still present. Using this option |
| 104 | with `-s` or `-u` options does not make any sense. |
| 105 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 106 | -t:: |
| 107 | Identify the file status with the following tags (followed by |
| 108 | a space) at the start of each line: |
| 109 | H:: cached |
| 110 | M:: unmerged |
| 111 | R:: removed/deleted |
Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 112 | C:: modified/changed |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 113 | K:: to be killed |
Junio C Hamano | 6697ac5 | 2006-02-14 08:00:23 | [diff] [blame] | 114 | ?:: other |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 115 | |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 116 | -v:: |
| 117 | Similar to `-t`, but use lowercase letters for files |
Junio C Hamano | f556fc2 | 2007-12-23 08:16:38 | [diff] [blame] | 118 | that are marked as 'assume unchanged' (see |
Junio C Hamano | 35738e8 | 2008-01-07 07:55:46 | [diff] [blame] | 119 | linkgit:git-update-index[1]). |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 120 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 121 | --full-name:: |
| 122 | When run from a subdirectory, the command usually |
| 123 | outputs paths relative to the current directory. This |
| 124 | option forces paths to be output relative to the project |
| 125 | top directory. |
| 126 | |
Junio C Hamano | 5c3957e | 2006-03-28 00:28:01 | [diff] [blame] | 127 | --abbrev[=<n>]:: |
| 128 | Instead of showing the full 40-byte hexadecimal object |
Junio C Hamano | 6efe302 | 2009-01-13 16:47:56 | [diff] [blame] | 129 | lines, show only a partial prefix. |
Junio C Hamano | 5c3957e | 2006-03-28 00:28:01 | [diff] [blame] | 130 | Non default number of digits can be specified with --abbrev=<n>. |
| 131 | |
Junio C Hamano | 1bb569e | 2006-05-05 23:14:25 | [diff] [blame] | 132 | \--:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 133 | Do not interpret any more arguments as options. |
| 134 | |
| 135 | <file>:: |
| 136 | Files to show. If no files are given all files which match the other |
| 137 | specified criteria are shown. |
| 138 | |
| 139 | Output |
| 140 | ------ |
| 141 | show files just outputs the filename unless '--stage' is specified in |
| 142 | which case it outputs: |
| 143 | |
| 144 | [<tag> ]<mode> <object> <stage> <file> |
| 145 | |
Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 146 | 'git-ls-files --unmerged' and 'git-ls-files --stage' can be used to examine |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 147 | detailed information on unmerged paths. |
| 148 | |
| 149 | For an unmerged path, instead of recording a single mode/SHA1 pair, |
Junio C Hamano | 3646098 | 2007-05-27 04:29:12 | [diff] [blame] | 150 | the index records up to three such pairs; one from tree O in stage |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 151 | 1, A in stage 2, and B in stage 3. This information can be used by |
| 152 | the user (or the porcelain) to see what should eventually be recorded at the |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 153 | path. (see linkgit:git-read-tree[1] for more information on state) |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 154 | |
| 155 | When `-z` option is not used, TAB, LF, and backslash characters |
| 156 | in pathnames are represented as `\t`, `\n`, and `\\`, |
| 157 | respectively. |
| 158 | |
| 159 | |
| 160 | Exclude Patterns |
| 161 | ---------------- |
| 162 | |
Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 163 | 'git-ls-files' can use a list of "exclude patterns" when |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 164 | traversing the directory tree and finding files to show when the |
Junio C Hamano | 35738e8 | 2008-01-07 07:55:46 | [diff] [blame] | 165 | flags --others or --ignored are specified. linkgit:gitignore[5] |
Junio C Hamano | 679d22d | 2007-06-02 21:13:44 | [diff] [blame] | 166 | specifies the format of exclude patterns. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 167 | |
Junio C Hamano | 679d22d | 2007-06-02 21:13:44 | [diff] [blame] | 168 | These exclude patterns come from these places, in order: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 169 | |
Junio C Hamano | 679d22d | 2007-06-02 21:13:44 | [diff] [blame] | 170 | 1. The command line flag --exclude=<pattern> specifies a |
| 171 | single pattern. Patterns are ordered in the same order |
| 172 | they appear in the command line. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 173 | |
Junio C Hamano | 679d22d | 2007-06-02 21:13:44 | [diff] [blame] | 174 | 2. The command line flag --exclude-from=<file> specifies a |
| 175 | file containing a list of patterns. Patterns are ordered |
| 176 | in the same order they appear in the file. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 177 | |
| 178 | 3. command line flag --exclude-per-directory=<name> specifies |
Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 179 | a name of the file in each directory 'git-ls-files' |
Junio C Hamano | 679d22d | 2007-06-02 21:13:44 | [diff] [blame] | 180 | examines, normally `.gitignore`. Files in deeper |
| 181 | directories take precedence. Patterns are ordered in the |
| 182 | same order they appear in the files. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 183 | |
| 184 | A pattern specified on the command line with --exclude or read |
| 185 | from the file specified with --exclude-from is relative to the |
| 186 | top of the directory tree. A pattern read from a file specified |
| 187 | by --exclude-per-directory is relative to the directory that the |
| 188 | pattern file appears in. |
| 189 | |
Junio C Hamano | 9049d91 | 2008-05-29 02:09:50 | [diff] [blame] | 190 | SEE ALSO |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 191 | -------- |
Junio C Hamano | 35738e8 | 2008-01-07 07:55:46 | [diff] [blame] | 192 | linkgit:git-read-tree[1], linkgit:gitignore[5] |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 193 | |
| 194 | |
| 195 | Author |
| 196 | ------ |
| 197 | Written by Linus Torvalds <torvalds@osdl.org> |
| 198 | |
| 199 | Documentation |
| 200 | -------------- |
Junio C Hamano | 679d22d | 2007-06-02 21:13:44 | [diff] [blame] | 201 | Documentation by David Greaves, Junio C Hamano, Josh Triplett, and the git-list <git@vger.kernel.org>. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 202 | |
| 203 | GIT |
| 204 | --- |
Junio C Hamano | f7c042d | 2008-06-06 22:50:53 | [diff] [blame] | 205 | Part of the linkgit:git[1] suite |