Удаление файлов, которые не отслеживаются, будет помечено как удаленное

У меня в репозитории git следующее состояние:

git status

On branch whatever
Your branch is ahead of 'origin/whatever' by 1 commit.
  (use "git push" to publish your local commits)

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    docs/file1.docx

nothing added to commit but untracked files present (use "git add" to track)

Итак, я сделаю:

git clean -fdx 

После этого git status покажет следующее:

On branch whatever
Your branch is ahead of 'origin/whatever' by 1 commit.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    deleted:    docs/file1.docx

no changes added to commit (use "git add" and/or "git commit -a")

Если я удалю файлы, которые не отслеживаются, как могло случиться, что они были помечены как удаленные?


1
222
1

Ответ:

Я не знаю, что вызывает это, но иногда я попадаю в то же состояние. Когда это происходит, я исправляю это, выполнив:

git clean --force

(или git clean -f), который удаляет неотслеживаемые файлы, но при этом нет заставляет git пометить их как удаленные.

Для получения дополнительной информации запустите git help clean. У него есть различные другие флаги и функции, которые могут быть вам полезны.