ที่เก็บ git ของฉันหายไปอย่างใดอย่างหนึ่ง - ฉันโหลด msysgit เมื่อเช้านี้และแทนที่จะแสดงชื่อสาขาหลังไดเร็กทอรีปัจจุบันมันขึ้นว่า "((ref: re ... ))", 'git status' รายงานทุกอย่างเป็น a ไฟล์ใหม่ 'git log' และ 'git reflog' บอกฉันว่า "fatal: bad default revision" HEAD "และอื่น ๆ
การทำ 'git reflog --all' หรือ 'gitk --all' แสดงให้ฉันเห็นว่าพื้นที่เก็บข้อมูลที่เหลือยังคงอยู่ แต่ดูเหมือนว่าสาขาที่ฉันกำลังทำอยู่จะหายไปซึ่งอธิบายได้ว่าทำไม HEAD ดูเหมือนไม่มีอยู่ / ชี้ไปที่อะไรก็ได้
ฉันรู้ว่าคอมไพล์เก็บข้อมูลทุกประเภทไว้และฉันสมมติว่าการกระทำของฉันเพิ่งถูกกำพร้าดังนั้นมีคำสั่งบางอย่างที่จะแสดงการกระทำเหล่านั้นให้ฉันเห็นเพื่อที่ฉันจะได้รีเซ็ต HEAD เป็น
แก้ไข: โอ้ที่รัก ฉันค้นพบ "git fsck" และ "git fsck --full" รายงาน "fatal: object 03ca4 ... is corrupted" ปีศาจสามารถทำอะไรได้บ้าง?
แก้ไข: โอ้ที่รักโอ้ที่รัก ฉันตรวจสอบสาขาอื่นจากนั้นพยายามสร้างสาขาเดิมอีกครั้งโดยใช้ชื่อเดียวกันโดยใช้ "git checkout -b lostbranchname" และ git ระบุว่า "error: ไม่สามารถแก้ไขการอ้างอิง refs / head / lostbranchname: ไม่มีข้อผิดพลาดร้ายแรง: ล้มเหลว เพื่อล็อคการอ้างอิงสำหรับการอัปเดต: ไม่มีข้อผิดพลาด " "ไม่มีข้อผิดพลาด" ต้องเป็นข้อผิดพลาดที่น่ารังเกียจอย่างยิ่ง ดูเหมือนว่ามันยังคงแขวนอยู่รอบ ๆ แต่ไม่สามารถใช้งานได้และไม่สามารถถูกฆ่าได้
แก้ไข: Super duper โอ้ที่รัก ฉันได้ทำการแกะและบรรจุใหม่และเปลี่ยนสิ่งต่างๆตามที่แนะนำไว้ที่นี่: จะกู้คืนวัตถุ Git ที่เสียหายจากความล้มเหลวของฮาร์ดดิสก์ได้อย่างไร แต่ตอนนี้ฉันได้รับรายงานว่าแฮชอื่นเสียหายเพราะมีบางอย่างที่ไม่เป็นอันตรายเหมือน 'สถานะคอมไพล์' ฉันคิดว่าเรื่องทั้งหมดถูกซ่อนไว้ Git น่ารักและทั้งหมด แต่ฉันไม่ควรต้องรับมือกับเรื่องแบบนี้
git checkout -b lostbranchname- หากคุณสนใจเฉพาะชื่อของสาขา (ไม่ใช่เนื้อหาของสาขา) คุณสามารถลบ (หรือเปลี่ยนชื่อ) ด้วยตนเอง.git/refs/heads/lostbranchname- ซึ่งหวังว่าจะเป็นเคล็ดลับ