Pengguna anonim
Lebih
Bagaimana untuk melihat perubahan antara dua berbuat tanpa melakukan di antara?
Bagaimana anda membuat git diff
hanya menunjukkan perbedaan antara dua komit, tidak termasuk yang lain melakukan di antara?
602
12
anda hanya dapat melewatkan 2 berkomitmen untuk git diff seperti :
Meminta perbedaan /antara/ dua berbuat tanpa termasuk melakukan in-antara agak tidak masuk akal. Melakukan hanya snapshot dari isi repositori; meminta perbedaan antara dua tentu termasuk mereka. Jadi pertanyaannya kemudian adalah, apa yang sebenarnya kau cari?
Sebagai William menyarankan, cherry-picking dapat memberikan delta tunggal melakukan rebased di atas yang lain. Yaitu:
Ini membutuhkan komitmen 'abcdef', membandingkan terdekatnya nenek moyang, maka berlaku that difference di atas '012345'. Ini baru perbedaan ini kemudian ditampilkan - satu-satunya perubahan adalah konteks berasal dari '012345' bukan 'abcdef's langsung nenek moyang. Tentu saja, anda mungkin mendapatkan konflik dan lain-lain, sehingga's bukan merupakan proses yang sangat berguna dalam banyak kasus.
Jika anda're hanya tertarik pada abcdef itu sendiri, yang dapat anda lakukan:
Hal ini sebanding abcdef untuk segera leluhur, sendirian, dan biasanya apa yang anda inginkan.
Dan tentu saja
memberikan anda semua perbedaan antara dua orang melakukan.
Itu akan membantu untuk mendapatkan ide yang lebih baik dari apa yang anda're berusaha untuk mencapai - seperti yang saya sebutkan, meminta perbedaan antara dua melakukan tanpa apa's di antara doesn't benar-benar masuk akal.
Untuk membandingkan dua git commit 12345 dan abcdef sebagai patch satu dapat menggunakan perintah diff sebagai
Contoh:
Hal itu menunjukkan perbedaan pada file itu di antara mereka yang melakukan.
Let's mengatakan anda memiliki ini
Dan anda ingin memastikan bahwa
A
adalah sama denganA0
.Ini akan melakukan trik:
Untuk memeriksa menyelesaikan perubahan:
Untuk memeriksa hanya berubah/ditambahkan/dihapus file:
CATATAN: Untuk memeriksa diff tanpa melakukan di antara, anda don't perlu untuk menempatkan komit id.
Misalkan anda ingin melihat perbedaan antara melakukan 012345 dan abcdef. Berikut harus melakukan apa yang anda inginkan:
Bagaimana dengan ini:
It's berguna untuk hanya pipa itu kurang jika anda ingin membandingkan berbagai diffs on the fly.
Saya
alias
pengaturan~/.bashrc
filegit diff
:Bahasa inggris bukan bahasa ibu saya, mohon maaf kesalahan pengetikan
Sejak Git 2.19, anda hanya dapat menggunakan:
`git kisaran-diff rev1...rev2``
atau `git kisaran-diff rev1~..rev1 rev2~..rev2``
Saya menulis sebuah script yang menampilkan perbedaan di antara dua berbuat, bekerja dengan baik di Ubuntu.
https://gist.github.com/jacobabrahamb4/a60624d6274ece7a0bd2d141b53407bc
Saya
alias
pengaturan~/.zshrc
filegit diff
:Terima kasih @Jinmiao Luo