Hãy cẩn thận, trong trường hợp này:
Commit hash - File modified
aaaaaaa index.php
bbbbbbb test.php
ccccccc index.php
Git thanh toán ĐẦU ~ 1 (hoặc HEAD ^) index.php cố gắng kiểm tra các tập tin index.php để băm TRỤ trước (bbbbbbb) nhưng điều này không phải là tệp băm cam kết thực sự trước đó, là ccccccc. Trong băm HEAD trước đó, index.php vẫn không thay đổi vì thay đổi cuối cùng được thực hiện trong bcccccc băm.
Để trở lại một số tập tin để trước cam kết băm ảnh hưởng đến các tập tin, sử dụng:
git log -n 2 --pretty=format:%h path/to/file.ext
Bỏ qua băm đầu tiên và lấy băm thứ hai, sau đó:
git checkout <second_hash> path/to/file.ext
git commit -m 'Revert this file to real previous commit'
Các dễ nhất sẽ được sao chép nội dung tệp từ cam kết cụ thể đó bằng cách sử dụng ứng dụng khách (hoặc từ github bitbucket, v.v.) và dán vào tệp hiện tại của bạn và cam kết :) Dễ hơn viết băm và đường dẫn – nawfal