พูดว่าฉันอยู่ในที่เก็บ Git ฉันลบไฟล์และยอมรับการเปลี่ยนแปลงนั้น ฉันทำงานต่อไปและเพิ่มความมุ่งมั่น จากนั้นฉันพบว่าฉันจำเป็นต้องกู้คืนไฟล์นั้น
ฉันรู้ว่าฉันสามารถเช็คเอาต์ไฟล์โดยใช้git checkout HEAD^ foo.bar
แต่ฉันไม่รู้จริง ๆ ว่าไฟล์นั้นถูกลบเมื่อใด
- อะไรจะเป็นวิธีที่เร็วที่สุดในการค้นหาการกระทำที่ลบชื่อไฟล์ที่กำหนด?
- อะไรจะเป็นวิธีที่ง่ายที่สุดในการนำไฟล์นั้นกลับมาไว้ในสำเนาการทำงาน
ฉันหวังว่าฉันไม่จำเป็นต้องเรียกดูบันทึกของฉันด้วยตนเองเช็คเอาต์โครงการทั้งหมดสำหรับ SHA ที่ระบุจากนั้นคัดลอกไฟล์นั้นลงในการตรวจสอบโครงการต้นฉบับของฉัน
git log --diff-filter=D -- path/to/file
git checkout deletedFile
จะยกเลิกการลบdeletedFile
ถ้ามันถูกลบ แต่ลบที่ยังไม่ได้รับการจัดฉากหรือความมุ่งมั่น นั่นไม่ใช่สิ่งที่คำถามนี้ถาม คำถามนี้เกี่ยวกับวิธีการกู้คืนไฟล์ที่มีการลบหลายคอมมิชชันไปแล้ว