Git commit, `нет такого файла или каталога`? - PullRequest
2 голосов
/ 22 декабря 2011

Я удалил некоторые файлы из своего проекта, но они все еще отображаются на экране фиксации с символом D рядом с ними.

Когда я пытаюсь зафиксировать, я получаю сообщение об ошибке ....нет такого файла или каталога, как я могу удалить эти файлы, иначе избавиться от предупреждения?

Ответы [ 3 ]

3 голосов
/ 22 декабря 2011

D означает удаленный.Git по-прежнему знает о файле, если вы удалите файл с помощью rm или с помощью поиска.Чтобы удалить файл из git и с диска:

git rm <filename>
git commit -m "message"
0 голосов
/ 20 февраля 2015

В git, когда вы добавляете изменения в область подготовки (перед фиксацией), изменения, которые удалили файл, не создаются по умолчанию.Использование параметров --all, -A или --no-ignore-removal с вашим git add <filename> внесет все типы изменений.

т.е.git add . --all внесет все изменения перед фиксацией, включая изменения удаленных файлов.

В качестве альтернативы, как упоминал Дау в своем ответе, если вы используете git rm <filename> и удалите git файл из рабочего дерева и из индекса.

0 голосов
/ 26 декабря 2011

Согласно комментариям, git не знает о файле, то есть: файл не поставлен в индексе. Попробуйте запустить эту серию команд:

git add <filename> // stage the file
git rm --cached <filename>

Может быть, вы просто удалили файл, используя какое-то rm <filename>, в этом случае попробуйте сначала проверить файл, а затем попробуйте удалить.

git checkout HEAD -- <filename>
git rm <filename>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...