git-rm(1) ========= NAME ---- git-rm - Remove files from the working tree and from the index. SYNOPSIS -------- 'git-rm' [-f] [-n] [-v] [--] ... DESCRIPTION ----------- A convenience wrapper for git-update-index --remove. For those coming from cvs, git-rm provides an operation similar to "cvs rm" or "cvs remove". OPTIONS ------- ...:: Files to remove from the index and optionally, from the working tree as well. -f:: Remove files from the working tree as well as from the index. -n:: Don't actually remove the file(s), just show if they exist in the index. -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 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. EXAMPLES -------- 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/git-foo.sh`. Author ------ Written by Linus Torvalds Documentation -------------- Documentation by Junio C Hamano and the git-list . GIT --- Part of the gitlink:git[7] suite