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