Ketika saya melakukannya git diff COMMIT
saya melihat perubahan antara komit itu dan KEPALA (sejauh yang saya tahu), tetapi saya ingin melihat perubahan yang dibuat oleh komit tunggal itu.
Saya belum menemukan opsi yang jelas pada diff
/ log
yang akan memberi saya output itu.
git
version-control
diff
git-diff
laktak
sumber
sumber
Jawaban:
Untuk melihat perbedaan
COMMIT
hash tertentu :git diff COMMIT~ COMMIT
akan menunjukkan kepada Anda perbedaan antaraCOMMIT
leluhur dan leluhurCOMMIT
. Lihat halaman manual untuk git diff untuk perincian tentang perintah dan gitrevision tentang~
notasi dan teman-temannya.Atau,
git show COMMIT
akan melakukan sesuatu yang sangat mirip. (Data komit, termasuk diff - tetapi tidak untuk komit gabungan). Lihat manual git show .sumber
^
kebutuhan dikutip dalam cangkang Thomson dan Bourne (sinonim untuk|
sana) danrc
dan turunannya (operator caret) danzsh
dengan perpanjangan extendedglob (not
operator globbing)HEAD^
menyiratkan orang tua pertama dalam kasus komit memiliki beberapa orang tua (yaitu menggabungkan komit).git diff COMMIT~ COMMIT
bekerja untuk saya, perhatikan tilde bukan caret. Saya menjalankan git versi 2.6.1.windows.1 pada Windows 10.Seperti disebutkan dalam " Singkatan untuk git dari commit dengan induknya? ", Anda juga dapat menggunakan
git diff
:atau
Dengan git show, Anda perlu (untuk fokus pada diff saja) untuk melakukan:
The
COMMIT
parameter adalah ish komit- :Lihat gitrevision "REVISI SPESIFIKASI" untuk referensi komitmen.
Lihat juga " Apa arti pohon-ish di Git? ".
sumber
Anda juga dapat mencoba cara mudah ini:
sumber
git show
memperlihatkan perubahan yang dilakukan pada komit terbaru.Setara dengan
git show HEAD
.git show HEAD~1
membawa Anda kembali 1 komit.sumber
Saya biasanya melakukan:
Untuk menampilkan perubahan terkait komit terakhir. Jika Anda memiliki lebih banyak komit, tambahkan saja angka 1 ke berapa banyak komit yang ingin Anda lihat.
sumber
Pertama-tama dapatkan ID komit menggunakan,
Atau
Salin id komitmen.
Sekarang kami menggunakan dua metode untuk membuat daftar perubahan dari komit tertentu,
Metode 1:
git diff commit_id^! #commit id something like this 1c6a6000asad012
Metode 2:
sumber
^!
maksudnya ??Ini akan menunjukkan kepada Anda apa yang ada di komit itu. Saya pikir Anda dapat melakukan rentang itu dengan hanya memberi jarak antara dua shas komit.
yang cukup membantu jika Anda sering melakukan rebasing karena log fitur Anda semuanya akan berurutan.
sumber
Dari halaman manual untuk git-diff (1) :
Gunakan yang ke-3 di tengah:
Juga dari halaman manual yang sama, di bagian bawah, di bagian Contoh :
Memang kata-katanya sedikit membingungkan, itu akan kurang membingungkan
sumber
git diff HEAD HEAD^
.Berikut ini tampaknya melakukan pekerjaan; Saya menggunakannya untuk menunjukkan apa yang telah dibawa oleh gabungan.
sumber
git log
? (karena stackoverflow.com/a/18585297/6309 )Kemungkinan lain:
sumber
Anda bisa menggunakannya
git diff HEAD HEAD^1
untuk melihat perbedaan dengan komit induk.Jika Anda hanya ingin melihat daftar file, tambahkan
--stat
opsi.sumber
diff
perintah ini adalah: apa yang harus saya ubah dalam file untuk mendapatkan dari commitHEAD
ke commitHEAD^1
?ini juga memungkinkan jika Anda telah mengkonfigurasi difftool Anda.
Lihat di sini cara mengkonfigurasi difftool Atau halaman manual di sini
Selain itu Anda dapat menggunakan
git diff-tree --no-commit-id --name-only -r <commit hash>
untuk melihat file mana yang telah diubah / dikomit dalam hash commit commitsumber
Saya suka perintah di bawah ini untuk membandingkan komit tertentu dan komit terakhir:
Contoh:
sumber
Untuk melihat penulis dan waktu dengan komit, gunakan
git show COMMIT
. Yang akan menghasilkan sesuatu seperti ini:Jika Anda ingin melihat file mana yang telah diubah, jalankan yang berikut dengan nilai-nilai dari garis Gabung di atas
git diff --stat a2a2894 3a1ba8f
.Jika Anda ingin melihat diff yang sebenarnya, jalankan
git --stat a2a2894 3a1ba8f
sumber
git --stat a2a2894 3a1ba8f
". Saya pikir maksud Andagit diff a2a2894 3a1ba8f
atau yang lainunknown option: --stat
.Untuk memeriksa perubahan lengkap:
Untuk memeriksa hanya file yang diubah / ditambahkan / dihapus:
CATATAN : Untuk memeriksa perbedaan tanpa komit di antaranya, Anda tidak perlu meletakkan id komit.
sumber
Saya menjalankan Git versi 2.6.1.windows.1 pada Windows 10, jadi saya perlu sedikit modifikasi untuk jawaban Nevik (tilde bukannya caret):
Pilihan lain adalah mengutip tanda sisipan:
sumber
Perintah ini akan memberi Anda hasit hasit induk Git:
Setelah itu
git diff-tool <commit-hash> <parent-commit-hash>
Contoh:
Setelah ini
sumber
Jika Anda hanya ingin melihat perubahan pada komit terbaru, cukup
git show
beri Anda itu.sumber
Dalam hal memeriksa perubahan sumber dalam tampilan grafis,
sebagai contoh:
sumber