Điều này không tồn tại, nhưng nó thực sự là một tính năng của git log
:
git log -p [--follow] [-1] <path>
Lưu ý rằng -p
cũng có thể được sử dụng để hiển thị khác biệt nội tuyến từ một cam kết duy nhất:
git log -p -1 <commit>
Tùy chọn được sử dụng:
-p
(cũng -u
hoặc --patch
) được ẩn deeeeeeeep trong git-log
trang man và thực sự là một tùy chọn hiển thị cho git-diff
. Khi được sử dụng log
, nó hiển thị các bản vá sẽ được tạo cho mỗi lần xác nhận , cùng với thông tin cam kết, và ẩn các cam kết không chạm vào chỉ định <path>
. (Hành vi này được mô tả trong đoạn trên --full-diff
, điều này gây ra sự khác biệt đầy đủ của từng cam kết được hiển thị.)
-1
chỉ hiển thị thay đổi gần đây nhất đối với tệp được chỉ định ( -n 1
có thể được sử dụng thay vì -1
); mặt khác, tất cả các khác không khác không của tập tin đó được hiển thị.
--follow
được yêu cầu để xem các thay đổi xảy ra trước khi đổi tên.
Theo như tôi có thể nói, đây là cách duy nhất để thấy ngay bộ thay đổi cuối cùng được thực hiện cho một tệp mà không sử dụng git log
(hoặc tương tự) để đếm số lần sửa đổi can thiệp hoặc xác định hàm băm của cam kết.
Để xem các thay đổi sửa đổi cũ hơn, chỉ cần cuộn qua nhật ký hoặc chỉ định một cam kết hoặc thẻ để bắt đầu nhật ký. (Tất nhiên, việc chỉ định một cam kết hoặc thẻ đưa bạn trở lại vấn đề ban đầu để tìm ra cam kết hoặc thẻ chính xác là gì.)
Tín dụng có tín dụng đến hạn:
- Tôi phát hiện ra
log -p
nhờ câu trả lời này .
- Tín dụng cho FranciscoPuga và câu trả lời này cho tôi thấy
--follow
tùy chọn.
- Tín dụng cho ChrisBetti khi đề cập đến
-n 1
tùy chọn và atatko khi đề cập đến -1
biến thể.
- Tín dụng cho sweaver2112 để giúp tôi thực sự đọc tài liệu và tìm hiểu
-p
"nghĩa là" về mặt ngữ nghĩa.
git diff HEAD^ <file_path>