返回顶部
本页目录

rm

从工作树和索引中删除文件

实例

删除工作区文件,并且将这次删除放入暂存区

                            
  • git rm [file1] [file2] ...

文件从暂存区域移除,但工作区保留

                            
  • git rm --cached [file]

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件

                            
  • git rm –r *

选项

<pathspec>…​

要删除的文件。可以指定一个领先的目录名(例如 dir 来删除 dir/file1dir/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字符分隔,所有其他字符按字面意义使用(包括换行符和引号)。