本页目录
rm
从工作树和索引中删除文件
实例
删除工作区文件,并且将这次删除放入暂存区
- git rm [file1] [file2] ...
文件从暂存区域移除,但工作区保留
- git rm --cached [file]
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件
- git rm –r *
选项
- <pathspec>…
-
要删除的文件。可以指定一个领先的目录名(例如 dir 来删除
dir/file1
和dir/file2
)来删除目录中的所有文件,以及递归地删除所有子目录,但这需要显式地指定-r
选项。 -
该命令只删除Git已知的路径。
-
文件遍历跨目录边界匹配。因此,在给定两个目录 d 和 d2 的情况下,使用 git rm ‘d*’ 和 git rm ‘d/*’ 存在区别,因为前者还将删除所有目录 d2 。
- --cached
-
使用此选项可以解除阶段,只从索引中删除路径。工作树文件,无论是否被修改,都将被保留。
- -f,--force
-
覆盖最新的检查。
- -n,--dry-run
-
实际上不要删除任何文件。相反,只是显示它们是否存在于索引中,否则会被命令删除。
- -r
-
当给定一个前导目录名时,允许递归删除。
- --
-
这个选项可以用来将命令行选项从文件列表中分离出来,(当文件名可能被误认为是命令行选项时很有用)。
- --ignore-unmatch
-
即使没有匹配的文件,也以零状态退出。
- --sparse
-
允许更新稀疏结帐锥之外的索引条目。通常, git rm 拒绝更新其路径不适合稀疏结帐锥的索引条目。
- -q,--quiet
-
git rm 通常为删除的每个文件输出一行(以 rm 命令的形式)。此选项禁止输出。
- --pathspec-from-file=<file>
-
Pathspec在
中而不是命令行args中传递。 - --pathspec-file-nul
-
仅对
--pathspec-from-file
有意义。Pathspec元素用NUL字符分隔,所有其他字符按字面意义使用(包括换行符和引号)。