1210mk2
@1210mk2

Как перестать отслеживать папку?

Речь о папке /vendor.
на данный момент она и каждый файл внутри в phpstorm подсвечен игнорным поносным цветом.
git ls-files vendor/ дает пустой вывод,
git status дает 7тыс строк зеленых , каждая вида deleted: vendor/symfony/
при попытке коммита в него лезет вся папка vendor серым цветом (мол, собираюсь удалить)

пробовал
git update-index --skip-worktree vendor/ пишет Ignoring path vendor/

при этом в origin запись /vendor есть в .gitignore, но добавлена уже после git clone на локалку,
в моем .gitignore тоже есть запись /vendor

как вырвать из объятий гита папку, но при этом конечно же оставить файлы и на локалке, и в origin?
  • Вопрос задан
  • 3066 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
а можно ли сделать так, чтобы при git clone папка /vendor на локалку сливалась, после чего убедить git перестать ее отслеживать?

Можно. Разрешаю ))
после клонирования удали папку из репозитория
git rm -r --cached -- 'vendor/*'
git commit

Если папка упомянута в gitignore, то перестанет отслеживаться в рабочем каталоге.
Но удалится в origin/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Radjah
@Radjah
Если я правильно понял, то кто-то закоммитил содержимое vendor в репу.
Ты добавляешь каталог в игнорируемые. В новом коммите его не будет, и git отмечает, что каталог удалён.

Если тебе нужно вообще стереть информацию о его существовании, то можно использовать bfg и потом git push --force для перезаписи всей истории.
Ответ написан
Комментировать
Может всё-таки лучше удалить папку vendor из репозитория, и при клонировании и необходимости развернуть проект инсталить её снова?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы