GIT-ADD(1)

NAME
git-add - Add files to the index file

SYNOPSIS
git-add [-n] [-v] [--] <file>...

DESCRIPTION
A simple wrapper for git-update-index to add files to the index, for people used to do "cvs add". It only adds non-ignored files, to add ignored files use "git update-index --add".

OPTIONS

<file>...
    Files to add to the index (see git-ls-files(1)).

-n  Don't actually add the file(s), just show if they exist.

-v  Be verbose.

--  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).

DISCUSSION
The list of <file> given to the command is fed to git-ls-files command to list files that are not registered in the index and are not ignored/excluded by $GIT_DIR/info/exclude file or .gitignore file in each directory. This means two things:

1.  You can put the name of a directory on the command line, and the command will add all files in it and its subdirectories;

2.  Giving the name of a file that is already in index does not run git-update-index on that path.

EXAMPLES

git-add Documentation/\*.txt
    Adds all *.txt files that are not in the index under Documentation directory and its subdirectories. Note that the asterisk * is quoted from the shell in this example; this lets the command to include the files from subdirectories of Documentation/ directory.

git-add git-*.sh
    Adds all git-*.sh scripts that are not in the index. Because this example lets shell expand the asterisk (i.e. you are listing the files explicitly), it does not add subdir/git-foo.sh to the index.

SEE ALSO
git-rm(1) git-ls-files(1)

AUTHOR
Written by Linus Torvalds <torvalds@osdl.org>

DOCUMENTATION
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
Part of the git(7) suite