Wenn es (grosse oder unnötige) Dateien im Git-Repository gibt, die Sie aus der Geschichte entfernen möchten, können Sie die folgenden Methoden verwenden.
Typische Repos schrumpfen von ca. 20 MB
auf weniger als 1 MB
. 1
Verwenden Sie git-filter-branch
oder installieren Sie BFG.
brew install bfg
# Show sizes of files and folders
du -sh {.*,*}
# Find 10 biggest Files in Repo
# https://stackoverflow.com/questions/10622179/how-to-find-identify-large-files-commits-in-git-history#20609719
git gc
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '{print$1}')"
# Delete folders
bfg --delete-folders <path> # --no-blob-protection
# Delete Files
bfg --delete-files <path> # --no-blob-protection
# Remove reflog
git reflog expire --expire=now --all && git gc --prune=now --aggressive
# If there are unstaged changes
git rm <path> --cached
git rm -r <path> --cached
Vergessen Sie nicht die entfernten Ordner zu Ihrer .gitignore
hinzuzufügen falls sie noch vorhanden sein sollten.
Fußnoten
Diese Statistik wurde aus der Luft gefriffen. ↩