Когда используется git rm-f?

Я изучаю Git и не могу понять, при каком условии флаг-f используется при выдаче команды "git rm". Пожалуйста, объясните сценарий, когда rm-f потребуется вместо RM только?

3 ответов


объяснение:

на -f используется для удаления файла, если файл не обновлен с последней проверенной фиксацией. Это должно помешать вам удалить файл, в который вы внесли изменения, но еще не зарегистрировали их.


пример:

вы проверить commit 0a12d4, содержащий файл образец.txt. Прежде чем изменять какие-либо файлы, вы можете удалить образец.txt с git rm sample.txt. Однако, как только вы внесете изменения образец.txt, вам нужно будет использовать git rm -f sample.txt удалить файл


Если вы попытаетесь git rm файл, который имеет неустановленные изменения, он терпит неудачу, если вы не предоставите -f флаг:

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

Если вы редактируете файл, а затем понимаете, что хотите удалить его вместо этого.

$ 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