นี่คือกรณีที่แตกต่างกันเป็นข้อมูลอ้างอิงเพื่อช่วยเหลือผู้อื่น:
หากการลบยังไม่ได้รับการยืนยันคำสั่งด้านล่างจะคืนค่าไฟล์ที่ถูกลบในแผนผังการทำงาน
$ git checkout -- <file>
คุณสามารถรับรายชื่อของไฟล์ที่ถูกลบทั้งหมดในแผนผังการทำงานโดยใช้คำสั่งด้านล่าง
$ git ls-files --deleted
หากการลบถูกคอมมิตให้ค้นหาการคอมมิชชันที่เกิดขึ้นจากนั้นกู้คืนไฟล์จากการคอมมิชชันนี้
#find the commit hash where it had this file deleted
$ git rev-list -n 1 HEAD -- <file>
มันควรให้อะไรกับc46e81aa403ecb8a0f7a323a358068345
คุณตอนนี้ใช้ commit # ที่นี่
$ git checkout <commit>^ -- <file>
บางสิ่งเช่นนี้: $ git checkout c46e81aa403ecb8a0f7a323a358068345 -
ในกรณีที่คุณกำลังมองหาเส้นทางของไฟล์ที่จะกู้คืนคำสั่งต่อไปนี้จะแสดงข้อมูลสรุปของไฟล์ที่ถูกลบทั้งหมด
$ git log --diff-filter=D --summary
หากคุณต้องการแสดงรายการไฟล์:
git log --diff-filter=D --summary | grep "delete mode"
git checkout .
ก็น่าจะใช้ได้ดี