Я уже зафиксировал папку ранее и хочу удалить каталог и в истории.
Я сделал следующее:
Добавить папку в .gitignore
:
echo Folder_Name/ >> .gitignore
Удалить из всех коммитов:
git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch Folder_Name/' --prune-empty --tag-name-filter cat -- --all
удалить ссылки из старых коммитов:
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
Убедитесь, что все старые ссылки полностью удалены
rm -Rf .git/logs .git/refs/original
Выполнить сборку мусора
git gc --prune=all --aggressive
отправить изменения в онлайн-хранилище:
git push
Вы сделали здесь.
Но вы можете выполнить следующие изменения для всех изменений:
Но будьте осторожны с этой командой!
git push origin --all --force
git push origin --tags --force
После этого папка была удалена из git, но не удалена с локального диска.