blob: 66fc478f5736957d56de10ddc69c5c0fd9aad9c6 [file] [log] [blame]
git-rm - Remove files from the working tree and from the index
'git-rm' [-f] [-n] [-v] [--] <file>...
A convenience wrapper for git-update-index --remove. For those coming
from cvs, git-rm provides an operation similar to "cvs rm" or "cvs
Files to remove from the index and optionally, from the
working tree as well.
Remove files from the working tree as well as from the index.
Don't actually remove the file(s), just show if they exist in
the index.
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).
The list of <file> given to the command is fed to `git-ls-files`
command to list files that are 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 remove all files in it and its subdirectories (the
directories themselves are never removed from the working tree);
. Giving the name of a file that is not in the index does not
remove that file.
git-rm Documentation/\\*.txt::
Removes all `\*.txt` files from the index that are under the
`Documentation` directory and any of its subdirectories. The
files are not removed from the working tree.
Note that the asterisk `\*` is quoted from the shell in this
example; this lets the command include the files from
subdirectories of `Documentation/` directory.
git-rm -f git-*.sh::
Remove all git-*.sh scripts that are in the index. The files
are removed from the index, and (because of the -f option),
from the working tree as well. Because this example lets the
shell expand the asterisk (i.e. you are listing the files
explicitly), it does not remove `subdir/`.
See Also
Written by Linus Torvalds <>
Documentation by Junio C Hamano and the git-list <>.
Part of the gitlink:git[7] suite