นี่คือคำอธิบายที่ดีมากเกี่ยวกับวิธีลบไฟล์ที่เป็นปัญหาซ้ำจากประวัติ git ของคุณ: http://help.github.com/remove-sensitive-data/
มีประโยชน์มากเพราะเครื่องมืออื่นมักจะ 'แฮงค์' ในขณะที่พยายามแสดงความแตกต่างของไฟล์ขนาดใหญ่ที่ไม่ควรถูกตรวจสอบตั้งแต่แรก ...
นี่คือสิ่งที่คุณสามารถทำได้ (สั้น ๆ ) เพื่อกำจัดสิ่งที่ใหญ่ที่สุด:
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
ทำงานได้ดีมากสำหรับฉัน :)