Có tất cả các cách tuyệt vời để chỉ định cam kết - hãy xem phần chỉ định bản sửa đổi của man git-rev-parse
để biết thêm chi tiết. Trong trường hợp này, bạn có thể muốn:
git diff HEAD@{1}
Có @{1}
nghĩa là "vị trí trước đó của tham chiếu mà tôi đã chỉ định", để đánh giá những gì bạn đã kiểm tra trước đó - ngay trước khi kéo. Bạn có thể giải quyết HEAD
ở phần cuối ở đó nếu bạn cũng có một số thay đổi trong cây công việc của mình và bạn không muốn thấy sự khác biệt của chúng.
Tôi không chắc bạn đang yêu cầu gì với "ID cam kết của phiên bản tệp mới nhất của tôi" - "ID" cam kết (SHA1 hash) là hex 40 ký tự nằm ngay đầu mỗi mục nhập trong đầu ra của git log. Đó là hàm băm cho toàn bộ cam kết, không phải cho một tệp nhất định. Bạn không thực sự cần nhiều hơn - nếu bạn muốn chỉ khác một tệp trong quá trình kéo, hãy làm
git diff HEAD@{1} filename
Đây là một điều chung chung - nếu bạn muốn biết về trạng thái của tệp trong một cam kết nhất định, bạn chỉ định cam kết và tệp, không phải một ID / băm cụ thể cho tệp.