Git игнорировать локально удаленную папку
У меня есть приложение Ruby on Rails, которое вылетает, когда присутствует vendor/rails
, но работает нормально, если это не так. Мне нужно сохранить эту папку в локальной копии, чтобы я мог работать, но я не хочу, чтобы это удаление было когда-либо совершено. Кто-то положил его туда по какой-то причине.
Итак, как мне удалить эту папку, если она не появится в git status
, как тысяча удаленных файлов? Очевидно, что .gitignore
не будет работать, так как вы не можете игнорировать файлы, которые уже отслеживаются. Ни одно из решений, перечисленных в здесь (git update-index --assume-unchanged
), не работает.
Ответы
Ответ 1
git ls-files --deleted -z | git update-index --assume-unchanged -z --stdin
Обратите внимание, что поскольку это операция на основе индексов, вы не можете запретить игнорировать каталоги - только отдельные файлы. Если вверх по потоку когда-либо добавляет файл внутри этих каталогов, вам придется снова его исправить.