@Kirill-Gorelov
С ума с IT

Как исключить файлы из коммита?

У нас интернет магазин и в нем 1 млн картинок. Добавили папку upload в gitignore. Но есть еще одна папка delete_file_old, она тоже в указана в gitignore, но все равно файлы с нее попадают в индекс.
Если конкретно на примере.
Вот как мы указываем папку, кусочек gitignore.
5b065c26a86a7658063781.png

Посчитали количество файлов которое будет добавляться в git. (git count-objects -v )
5b065c83077c4993896140.png

Стали смотреть какие файлы туда добавляются (git log --name-only > ttt.txt)
Результат git log записываем в файл, для удобства.
И видим, что у нас очень много картинок, пример файла:
delete_file_old/0183737bc93efeac6e02557f0bc69e68.png
delete_file_old/0183cadb700868ef1f14e0f1e9b89aa1.png
delete_file_old/01858d6741c3a5aba027dd6071ec83d3.png
delete_file_old/0186c5a343b8d06d60ef25fae88e6654.png
delete_file_old/0186f3208b62c41dc0c8e2184ace1ee0.png
delete_file_old/018718f866277cbd4bb82dfea5fea324.png
delete_file_old/018735274f618858c33b6dac1bfcb91f.png

Как нам это исправить, если в gitignore все уже добавили?
  • Вопрос задан
  • 2757 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Если git logпоказывает файлы, значит вы их уже добавили в репозиторий ранее и нужно удалять их оттуда. Если это было сделано в последнем коммите, то просто
git rm "delete_file_old/*"
git commit --amend

Если добавили в старых коммитах, то через git filter-repo
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
LightAir
@LightAir
LA
Сначала нужен gitignore а потом уже файлы.
Временно перемести delete_file_old, коммит, потом можно вновь их добавить.

Можно через
git rm -r --cached .
git add .
git commit -m ".gitignore"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы