Я предполагаю, что файлы, отслеживаемые git в вашем каталоге vendor
до заполнения .gitignore
.
В этом случае поведение, которое вы видите, нормальное: индекс git знает об этих файлах и отслеживает их содержимое. Если вы заполняете свой .gitignore после того, как git отслеживает файл, будет слишком поздно, он будет игнорировать только те файлы, которые вы добавили с этого момента.
Что вам нужно сделать, так это разослать эти файлы (или «отследить»), чтобы индекс больше о них не знал - но без их удаления. Для этого используйте --cached
параметр git rm
:
git rm -r --cached vendor
Затем зафиксируйте результат. С этого момента и после заполнения .gitignore каталог vendor
будет игнорироваться.
Обратите внимание, что вам придется повторять эту операцию для каждой ветви, в которой у вас есть файлы, отслеживаемые в этом каталоге.
И, наконец, существует более разрушительный и очень опасный путь: git filter-branch
. Но вы хотите сделать это в крайнем случае, и только если вам это действительно нужно.