การล้างไฟล์จาก repo Git ล้มเหลวไม่สามารถสร้างข้อมูลสำรองใหม่ได้

ฉันพยายามลบไฟล์ออกจากพื้นที่เก็บข้อมูลระยะไกลโดยการเรียกใช้:

 git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD 

แต่ Git ก็บ่นเช่นนั้น

ไม่สามารถสร้างข้อมูลสำรองใหม่ การสำรองข้อมูลก่อนหน้านี้มีอยู่แล้วในการอ้างอิง / ต้นฉบับ /
การบังคับให้เขียนทับข้อมูลสำรองด้วย -f rm: ไม่สามารถลบ /.git-rewrite/backup-refs: สิทธิ์ถูกปฏิเสธ
rm: ไม่สามารถลบไดเรกทอรี /.git-rewrite: ไดเรกทอรีไม่ว่างเปล่า

สิ่งนี้เกิดขึ้นหลังจากที่ฉันลบไดเรกทอรี. git-rewrite ใน Windows

จะลบไฟล์นี้ได้อย่างไร? นี่เป็นไฟล์ขนาด 29 MB ที่นั่งอยู่บน repo ของฉันดังนั้นฉันต้องลบไฟล์

ฉันพยายามลบการแก้ไขใน git rebase -i แต่เห็นได้ชัดว่าเนื่องจากการแก้ไขมีผลกับไฟล์ที่แตกต่างกันมาก Git บ่นเกี่ยวกับความขัดแย้งและฉันถูกขัดจังหวะเพื่อความปลอดภัย

77
19 июня '11 в 19:24 2011-06-19 19:24 Cardin ตั้ง อยู่ในวันที่ 19 มิถุนายน 2554 เวลา 19:24 น. 2554-256 19:24 น
@ 4 คำตอบ

คุณได้ดำเนินการการกรองสาขาแล้ว หลังจากกรองสาขา Git จะเก็บลิงค์ไปยังคอมมิชชันเก่าหากมีสิ่งผิดปกติเกิดขึ้น

คุณสามารถค้นหาได้ใน .git/refs/original/… ลบไดเรกทอรีนี้และไฟล์ทั้งหมดที่อยู่ภายในหรือใช้แฟ -f เพื่อบังคับให้ Git ลบลิงก์เก่า

 git filter-branch -f \ --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD 
155
19 июня '11 в 21:37 2011-06-19 21:37 คำตอบจะได้รับ knittl 19 มิถุนายน 11 ที่ 21:37 2011-06-19 21:37

ใช้คำสั่งนี้เพื่อลบข้อมูลสำรองดั้งเดิม:

 git update-ref -d refs/original/refs/heads/master 
border=0

นี่คือสาระสำคัญที่ฉันใช้ในการกรองสาขาของ repo คอมไพล์ของฉัน: https://gist.github.com/k06a/25a0214c98bc19fd6817

6
09 дек. คำตอบจะได้รับ k06a 09 ธันวาคม 2015-12-09 14:19 '15 เวลา 14:19 2015-12-09 14:19

ฉันมีปัญหาเดียวกันและคำตอบข้างต้นไม่สามารถแก้ไขได้ ไม่มีไดเรกทอรี. git / refs / original / เหลืออยู่ ทางออกสำหรับฉันคือการลบไฟล์. git / packaged-refs

4
24 апр. คำตอบคือ yaron 24 apr 2015-04-24 02:39 '15 เวลา 2:39 2015-04-24 02:39

เพิ่มความแข็งแรงให้กับคำสั่งกรองสาขา

0
19 июня '11 в 21:31 2011-06-19 21:31 Adam Dymitruk ให้คำตอบ ในวันที่ 19 มิถุนายน 2554 เวลา 21:31 น. 2554-2556 21:31 น

คำถามอื่น ๆ เกี่ยวกับแท็ก หรือ ถามคำถาม