mirror of
https://github.com/git/git.git
synced 2024-11-05 16:52:59 +01:00
d4a1cab541
This adds a git-rm command which provides convenience similar to git-add, (and a bit more since it takes care of the rm as well if given -f). Like git-add, git-rm expands the given path names through git-ls-files. This means it only acts on files listed in the index. And it does act recursively on directories by default, (no -r needed as in the case of rm itself). When it recurses, it does not remove empty directories that are left behind. Signed-off-by: Junio C Hamano <junkio@cox.net>
89 lines
2.2 KiB
Text
89 lines
2.2 KiB
Text
git-rm(1)
|
|
=========
|
|
|
|
NAME
|
|
----
|
|
git-rm - Remove files from the working tree and from the index.
|
|
|
|
SYNOPSIS
|
|
--------
|
|
'git-rm' [-f] [-n] [-v] [--] <file>...
|
|
|
|
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
|
|
-------
|
|
<file>...::
|
|
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 <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.
|
|
|
|
|
|
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 <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
|
|
|