Check for IO errors after running a command
[gitweb.git] / Documentation / git-add.txt
index 8710b3a75e0bfb7d0643a25ee7b9548ea5b01261..76d2b05854ccc742105c374fae33c676795d29f1 100644 (file)
@@ -7,7 +7,7 @@ git-add - Add file contents to the changeset to be committed next
 
 SYNOPSIS
 --------
-'git-add' [-n] [-v] [--interactive] [--] <file>...
+'git-add' [-n] [-v] [-f] [--interactive | -i] [-u] [--] <file>...
 
 DESCRIPTION
 -----------
@@ -25,8 +25,10 @@ the commit.
 The 'git status' command can be used to obtain a summary of what is included
 for the next commit.
 
-This command only adds non-ignored files, to add ignored files use
-"git update-index --add".
+This command can be used to add ignored files with `-f` (force)
+option, but they have to be
+explicitly and exactly specified from the command line.  File globbing
+and recursive behaviour do not add ignored files.
 
 Please see gitlink:git-commit[1] for alternative ways to add content to a
 commit.
@@ -35,7 +37,11 @@ commit.
 OPTIONS
 -------
 <file>...::
-       Files to add content from.
+       Files to add content from.  Fileglobs (e.g. `*.c`) can
+       be given to add all matching files.  Also a
+       leading directory name (e.g. `dir` to add `dir/file1`
+       and `dir/file2`) can be given to add all files in the
+       directory, recursively.
 
 -n::
         Don't actually add the file(s), just show if they exist.
@@ -43,16 +49,35 @@ OPTIONS
 -v::
         Be verbose.
 
-\--interactive::
+-f::
+       Allow adding otherwise ignored files.
+
+-i, \--interactive::
        Add modified contents in the working tree interactively to
        the index.
 
+-u::
+       Update only files that git already knows about. This is similar
+       to what "git commit -a" does in preparation for making a commit,
+       except that the update is limited to paths specified on the
+       command line. If no paths are specified, all tracked files are
+       updated.
+
 \--::
        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 link:repository-layout.html[repository layout].
+
+
 EXAMPLES
 --------
 git-add Documentation/\\*.txt::
@@ -74,7 +99,7 @@ git-add git-*.sh::
 Interactive mode
 ----------------
 When the command enters the interactive mode, it shows the
-output of the 'status' subcommand, and then goes into ints
+output of the 'status' subcommand, and then goes into its
 interactive command loop.
 
 The command loop shows the list of subcommands available, and
@@ -203,4 +228,3 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 GIT
 ---
 Part of the gitlink:git[7] suite
-