После удаления индексов с помощью git filter-branch толчок коллеги возвращает старые индексы.
Я запустил репозиторий bitbucket, и его размер вырос до 2 ГБ, где он стал доступен только для чтения.Чтобы исправить ситуацию, они рекомендуют восстановить предыдущий коммит и очистить мой индекс веткой git filter.Что я и сделал, с успехом.Сделав это и обрезав, размер пакета локального размера (git count-objects) уменьшился до 300 МБ.Однако битбакет только уменьшился до 1,2 ГБ, я не понимаю разницу, но есть большая проблема.
Когда мой коллега, который также использует эту ветвь, выдвинул больше изменений, размер снова поднялся до2 Гб.Очевидно, у них все еще были индексы локально (хотя они сначала сделали git pull).
Команды, которые я выполнял, были ...
git filter-branch --force --index-filter 'git rm -r --ignore-unmatch NAME_OF_DIRECTORY_I_DONT_WANT_ANYMORE' --prune-empty --tag-name-filter cat -- --all
Повторяются для всех соответствующих каталогов, а затем:
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --all --force
1.) Я не понимаю, чтослучилось, может кто-нибудь просветить меня?
2.) Когда я снова исправляю ситуацию, используя git filter-branch, pruning и т. д. и отправляя на сервер, как я могу гарантировать, что мой коллега также получит эти изменения?То есть мы не повторяем цикл постоянно?