什么时候使用git rm -f?

时间:2011-11-15 02:57:36

标签: git git-rm

我正在学习Git,并且在发出“git rm”命令时无法理解在什么条件下使用-f标志。请解释一个场景,其中只需要rm -f而不是rm?

3 个答案:

答案 0 :(得分:14)

说明:

如果文件与您上次签出的提交不是最新的,-f用于删除文件。这是为了防止您删除已更改但尚未检入的文件。


实施例

您查看包含 sample.txt 文件的提交 0a12d4 。在更改任何文件之前,您可以使用git rm sample.txt删除 sample.txt 。但是,一旦您对 sample.txt 进行了更改,您就需要使用git rm -f sample.txt删除文件

答案 1 :(得分:3)

如果您尝试git rm具有未暂停更改的文件,如果您未提供-f标记,则会失败:

$ git rm a.txt
error: 'a.txt' has local modifications
(use --cached to keep the file, or -f to force removal)

答案 2 :(得分:2)

如果您编辑文件,然后意识到要删除它。

$ ls
func.c
$ vim func.c
...edit the file...

现在我想起来了,我其实想删除它.​​.....

$ git rm func.c
error: 'func.c' has local modifications
(use --cached to keep the file, or -f to force removal)
$ git rm -f func.c