ฉันมีความล้มเหลวของฮาร์ดดิสก์ซึ่งส่งผลให้ไฟล์บางไฟล์ของที่เก็บ Git เสียหาย เมื่อเรียกใช้git fsck --full
ฉันจะได้รับผลลัพธ์ต่อไปนี้:
error: .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack SHA1 checksum mismatch
error: index CRC mismatch for object 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid code lengths set)
error: cannot unpack 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid stored block lengths)
error: failed to read object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa at offset 276988017 from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack
fatal: object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa is corrupted
ฉันมีข้อมูลสำรองของที่เก็บ แต่การสำรองข้อมูลเดียวที่มีไฟล์แพ็คได้รับความเสียหายแล้ว ดังนั้นฉันคิดว่าฉันต้องหาวิธีดึงอ็อบเจกต์เดี่ยวจากการสำรองข้อมูลที่แตกต่างกันและสั่งให้ Git สร้างแพ็คใหม่โดยมีอ็อบเจ็กต์ที่ถูกต้องเท่านั้น
คุณช่วยให้คำแนะนำวิธีแก้ไขที่เก็บของฉันได้ไหม
.git
โฟลเดอร์แน่นอน) ลงใน repo ที่โคลนใหม่ ... แล้วทำgit status
ใน repo ใหม่ ... git ตรวจพบการเปลี่ยนแปลงที่ได้รับผลกระทบทั้งหมดในไฟล์ของฉันอย่างถูกต้องและฉันสามารถเริ่มงานได้อีกครั้ง