Как локально очистить git каталогов, которые были удалены коммитом, но содержат проигнорированные файлы? - PullRequest
0 голосов
/ 25 мая 2020

Предположим, я работаю над проектом, который содержит модуль в каталоге с именем a. Моя IDE создает несколько файлов для каждого модуля, поэтому есть файл, скажем, a/module.txt, а .gitignore говорит, что все файлы **/module.txt следует игнорировать. Но затем кто-то другой реорганизует этот репозиторий, удаляет каталог a и отправляет свой коммит. Если я затем pull зафиксирую свою локальную копию, Git сохранит каталог a в моей файловой системе, потому что он содержит игнорируемый файл (и удаляет только те файлы, которые НЕ игнорируются). Но мне больше не нужен этот каталог, и я хочу отбросить его, включая игнорируемые файлы.

Итак, в основном, как мне сказать Git отбрасывать каталоги, которые были удалены извлеченным коммитом, но содержат файлы, которые покрыты .gitignore?

Сначала я подумал, что могу сделать git clean -dfX (для удаления проигнорированных файлов), а затем git clean -df (чтобы удалить оставшиеся каталоги, потому что они сами не игнорируются), но при этом удаляются ВСЕ проигнорированные файлы, и я не хочу заставлять мою IDE создавать их снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...