Imported Upstream version 2.25.0
[platform/upstream/git.git] / Documentation / git-add.txt
index 45652fe..be5e3ac 100644 (file)
@@ -11,7 +11,8 @@ SYNOPSIS
 'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
          [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
          [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
-         [--chmod=(+|-)x] [--] [<pathspec>...]
+         [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
+         [--] [<pathspec>...]
 
 DESCRIPTION
 -----------
@@ -58,9 +59,9 @@ OPTIONS
        specifying `dir` will record not just a file `dir/file1`
        modified in the working tree, a file `dir/file2` added to
        the working tree, but also a file `dir/file3` removed from
-       the working tree Note that older versions of Git used
+       the working tree). Note that older versions of Git used
        to ignore removed files; use `--no-all` option if you want
-       to add modified or new files but ignore removed ones.
+       to add modified or new files but ignore removed ones.
 +
 For more details about the <pathspec> syntax, see the 'pathspec' entry
 in linkgit:gitglossary[7].
@@ -124,7 +125,7 @@ subdirectories).
 --no-ignore-removal::
        Update the index not only where the working tree has a file
        matching <pathspec> but also where the index already has an
-       entry.  This adds, modifies, and removes index entries to
+       entry. This adds, modifies, and removes index entries to
        match the working tree.
 +
 If no <pathspec> is given when `-A` option is used, all
@@ -187,26 +188,30 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
        bit is only changed in the index, the files on disk are left
        unchanged.
 
+--pathspec-from-file=<file>::
+       Pathspec is passed in `<file>` instead of commandline args. If
+       `<file>` is exactly `-` then standard input is used. Pathspec
+       elements are separated by LF or CR/LF. Pathspec elements can be
+       quoted as explained for the configuration variable `core.quotePath`
+       (see linkgit:git-config[1]). See also `--pathspec-file-nul` and
+       global `--literal-pathspecs`.
+
+--pathspec-file-nul::
+       Only meaningful with `--pathspec-from-file`. Pathspec elements are
+       separated with NUL character and all other characters are taken
+       literally (including newlines and quotes).
+
 \--::
        This option can be used to separate command-line options from
        the list of files, (useful when filenames might be mistaken
        for command-line options).
 
 
-CONFIGURATION
--------------
-
-The optional configuration variable `core.excludesFile` indicates a path to a
-file containing patterns of file names to exclude from git-add, similar to
-$GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to
-those in info/exclude.  See linkgit:gitignore[5].
-
-
 EXAMPLES
 --------
 
 * Adds content from all `*.txt` files under `Documentation` directory
-and its subdirectories:
+  and its subdirectories:
 +
 ------------
 $ git add Documentation/\*.txt