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

Обратите внимание, что поскольку это операция на основе индексов, вы не можете запретить игнорировать каталоги - только отдельные файлы. Если вверх по потоку когда-либо добавляет файл внутри этих каталогов, вам придется снова его исправить.