git rm
git rm
:把文件从缓存区移除。默认,把文件从暂存区和作目录删除。如果想只从暂存区删除,而保留在工作目录中,则使用命令git rm --cached
。若文件已经被提交到本地仓库中,想要强制删除,则使用命令git rm -f
。
语法
git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] file
file:要删除的文件。
- 精准路径:该命令仅删除 Git 已知的路径。给出你没有告诉 Git 的文件的名称,不会删除该文件。
- 统配符号:例如
git rm *.c
,删除当前目录下,后缀名是c的,所有文件。 - 删除目录:带上参数
-r
,删除目录,可以删除目录中的所有文件,递归地删除所有子目录。
选项
--cached
使用此选项可以取消仅从索引中删除路径的情况。工作树文件,无论是否修改,都将被单独保留。
-f(--force)
删除工作区和暂存区文件,并且将这次删除放入暂存区。注意:要删除的文件已经修改过,就是说和当前版本库文件的内容不同。覆盖最新的检查。
-r
当给出主目录名时允许递归删除。
-n(--dry-run)
切勿删除任何文件。相反,只需显示它们是否存在于索引中,否则将被命令删除。
--
此选项可用于将命令行选项与文件列表分开,(当文件名可能被误认为是命令行选项时很有用)。
--ignore-unmatch
即使没有匹配的文件,也可以用零状态退出。
-q(--quiet)
git rm
为每个被删除的文件输出一行(以命令的形式)。该选项禁止输出。
例子
git -rm Documentation/*.txt
从索引中删除 Documentation 目录下*.txt文件,以及任何子目录下的所有*.txt文件。