Berikut adalah penjelasan yang sangat bagus tentang cara menghapus file yang dimaksud secara rekursif dari riwayat git Anda: http://help.github.com/remove-sensitive-data/
Sangat berguna, karena jika tidak, alat cenderung 'hang' saat mencoba menunjukkan perbedaan pada file besar yang seharusnya tidak diperiksa terlebih dahulu ...
Inilah yang dapat Anda lakukan (singkatnya) untuk menyingkirkan hal-hal terbesar:
cd YourProject
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD
# see what you want to do with your remote here...
# you can: git push origin master --force
# or you can delete it and push a fresh new one from your cleaned-up local...
rm -rf .git/refs/original
git gc --prune=now
git gc --aggressive --prune=now
Bekerja sangat baik untuk saya :)