Ini memang ada, tetapi sebenarnya fitur git log
:
git log -p [--follow] [-1] <path>
Catatan yang -p
juga dapat digunakan untuk menampilkan diff sebaris dari komit tunggal:
git log -p -1 <commit>
Opsi yang digunakan:
-p
(juga -u
atau --patch
) disembunyikan deeeeeeeep di git-log
halaman manual, dan sebenarnya merupakan opsi tampilan untuk git-diff
. Ketika digunakan dengan log
, itu menunjukkan tambalan yang akan dihasilkan untuk setiap komit , bersama dengan informasi komit - dan menyembunyikan komit yang tidak menyentuh yang ditentukan <path>
. (Perilaku ini dijelaskan dalam paragraf di --full-diff
, yang menyebabkan perbedaan penuh dari setiap komit ditampilkan).
-1
hanya menunjukkan perubahan terbaru ke file yang ditentukan ( -n 1
dapat digunakan sebagai ganti -1
); jika tidak, semua perbedaan yang tidak nol dari file tersebut ditampilkan.
--follow
diperlukan untuk melihat perubahan yang terjadi sebelum mengganti nama.
Sejauh yang saya tahu, ini adalah satu-satunya cara untuk segera melihat set perubahan terakhir yang dibuat untuk file tanpa menggunakan git log
(atau serupa) untuk menghitung jumlah revisi intervensi atau menentukan hash dari komit.
Untuk melihat perubahan revisi yang lebih lama, cukup gulir ke seluruh log, atau tentukan komit atau tag untuk memulai log. (Tentu saja, menentukan komit atau tag mengembalikan Anda ke masalah awal untuk mengetahui apa komit atau tag yang benar.)
Kredit yang harus dibayar:
- Saya menemukan
log -p
berkat jawaban ini .
- Penghargaan untuk FranciscoPuga dan jawaban ini untuk menunjukkan saya
--follow
pilihan.
- Penghargaan untuk ChrisBetti untuk menyebutkan
-n 1
opsi dan atatko untuk menyebutkan -1
varian.
- Penghargaan untuk sweaver2112 karena membuat saya benar-benar membaca dokumentasi dan mencari tahu apa
-p
"arti" secara semantik.
git diff HEAD^ <file_path>