Подтвердить что ты не робот

Удалите все удаленные файлы из "измененных, но не обновленных" в Git

Когда я запускаю git status, у меня есть куча строк формы

deleted:    dir/file.js

Я могу удалить каждый из них индивидуально с помощью git checkout -- dir/file.js, но для этого должен быть менее кропотливый способ. (И да, я знаю, что я должен был использовать git rm в первую очередь...)

[ Обновить. Как указано ниже, git checkout -- фактически восстанавливает удаленный файл, тогда как я думал, что он удалил его из индекса git. Я был немного озадачен, потому что когда вы бежите git status, он говорит:

use "git checkout -- <file>..." to discard changes in working directory

Для меня "отменить изменения" не означает "восстановить удаленный файл", но в терминологии git я предполагаю, что это имеет смысл.]

4b9b3361

Ответ 1

Как указывает рампинг, вы можете использовать git rm для установки удаления файлов, которые уже были удалены в вашей рабочей копии (например, просто git rm dir/file.js в вашем случае.) Если у вас есть много этих файлов в списке как "deleted:" в разделе "Изменено, но не обновлено", я должен сначала проверить, что git ls-files --deleted создает список этих файлов, и если да, удалите их с помощью:

git ls-files --deleted -z | xargs -0 git rm

Ответ 2

Итак, вы хотите зафиксировать удаление этих файлов? Затем используйте

git add -u
git commit

Ответ 3

Вы можете по-прежнему git rm после факта, но если хотите, вы можете восстановить все ваши измененные файлы (включая удаления) до последней версии с помощью git reset --hard