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 gitlink: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:

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

. 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
--------
gitlink:git-rm[1]
gitlink: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 gitlink:git[7] suite

