หมายเหตุ: สิ่งนี้ไม่ได้ตอบปัญหาที่พบบ่อยซึ่งเป็นปัญหาของ OP แต่ไปที่ปัญหาอื่นที่อาจเกิดข้อผิดพลาดขึ้น ฉันไม่รู้สึกอยากทำคำถามใหม่แค่เขียนคำตอบลงมาบอกฉันว่าฉันควรทำอย่างนั้นแทนหรือไม่: P
ฉันถึงสถานการณ์น่าจะเกิดจากความผิดพลาดบางอย่างของความผิดพลาดบางอย่างที่ฉันได้รับข้อผิดพลาดนี้แม้ว่า.gitจะมีอยู่จริงก็ตาม
smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG config* FETCH_HEAD HEAD index logs/ modules/ objects/ ORIG_HEAD packed-refs
เนื่องจากฉันไม่มีสิ่งใดที่ต้องการการสงวนรักษาจริงๆฉันเลยใช้วิธีหลอกตาและทำ ...
smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/
ยังไม่ทำงาน แต่เป็นตัวอย่างเช่นผลตอบแทนgit log fatal: bad default revision 'HEAD'รีโมตอยู่ที่นั่นดังนั้นฉันจึงทำgit fetch --allและจากนั้นเพียงgit reset --hard origin/masterเพื่อให้ตัวเองเข้าสู่สถานะที่ repo เคยเป็นมาก่อน
โปรดทราบว่าหากมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดคุณสามารถเห็นการเปลี่ยนแปลงเหล่าgit statusนี้git diffและอื่น ๆ จากนั้นgit diff yourfile > patchก่อนที่จะทำการรีเซ็ต
อย่างน้อยสำหรับฉัน reflog ( git reflog) หายไปอย่างสมบูรณ์ ดังนั้นหากคุณทำการรีเซ็ตและมีการเปลี่ยนแปลงบางอย่างที่คุณต้องการป้องกันฉันไม่แน่ใจว่าคุณสามารถรับกลับคืนมาได้หลังจากรีเซ็ตอีกครั้ง ดังนั้นตรวจสอบให้แน่ใจว่าคุณมีการเปลี่ยนแปลงทั้งหมดที่คุณไม่สามารถสำรองข้อมูลได้ในท้ายที่สุดเพียงแค่คัดลอกโคลนก่อนลอง
git initแต่ต้องแน่ใจว่าไม่มีไดเรกทอรีย่อยของคุณที่มี.gitโฟลเดอร์เป็นของตัวเอง