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