Dưới đây là các trường hợp khác nhau như một tài liệu tham khảo để giúp đỡ người khác:
Nếu việc xóa chưa được thực hiện , lệnh bên dưới sẽ khôi phục tệp đã xóa trong cây làm việc.
$ git checkout -- <file>
Bạn có thể lấy danh sách tất cả các tệp đã xóa trong cây làm việc bằng cách sử dụng lệnh bên dưới.
$ git ls-files --deleted
Nếu việc xóa đã được cam kết , hãy tìm cam kết nơi nó xảy ra, sau đó khôi phục tệp từ cam kết này.
#find the commit hash where it had this file deleted
$ git rev-list -n 1 HEAD -- <file>
Nó sẽ cung cấp cho bạn một cái gì đó như c46e81aa403ecb8a0f7a323a358068345
, Bây giờ sử dụng cam kết # ở đây
$ git checkout <commit>^ -- <file>
Một cái gì đó như thế này: $ git checkout c46e81aa403ecb8a0f7a323a358068345 -
Trong trường hợp bạn đang tìm đường dẫn của tệp để khôi phục, lệnh sau sẽ hiển thị một bản tóm tắt của tất cả các tệp đã bị xóa.
$ git log --diff-filter=D --summary
Nếu bạn muốn chỉ hiển thị danh sách các tập tin:
git log --diff-filter=D --summary | grep "delete mode"
git checkout .
sẽ hoạt động tốt.