git diff `git merge-base master branch`..branch
Gabung basis adalah titik di mana branch
menyimpang dari master
.
Git diff mendukung sintaks khusus untuk ini:
git diff master...branch
Anda tidak boleh menukar sisi karena Anda akan mendapatkan cabang lainnya. Anda ingin tahu apa yang berubah branch
karena itu menyimpang dari master
, bukan sebaliknya.
Terkait longgar:
Perhatikan bahwa ..
dan ...
sintaksis tidak memiliki semantik yang sama seperti pada alat Git lainnya. Ini berbeda dari makna yang ditentukan dalam man gitrevisions
.
mengutip man git-diff
:
git diff [--options] <commit> <commit> [--] [<path>…]
Ini untuk melihat perubahan antara dua arbitrer <commit>
.
git diff [--options] <commit>..<commit> [--] [<path>…]
Ini identik dengan formulir sebelumnya. Jika <commit>
di satu sisi dihilangkan, itu akan memiliki efek yang sama dengan menggunakan sebagai HEAD
gantinya.
git diff [--options] <commit>...<commit> [--] [<path>…]
Formulir ini untuk melihat perubahan pada cabang yang berisi dan sampai yang kedua <commit>
, dimulai pada nenek moyang yang sama dari keduanya <commit>
. " git diff A...B
" sama dengan " git diff $(git-merge-base A B) B
". Anda dapat menghilangkan salah satu dari itu <commit>
, yang memiliki efek yang sama dengan menggunakan HEAD
gantinya.
Untuk berjaga-jaga jika Anda melakukan sesuatu yang eksotis, perlu dicatat bahwa semua <commit>
uraian di atas, kecuali dalam dua bentuk terakhir yang menggunakan notasi "..", bisa berupa apa saja <tree>
.
Untuk daftar cara mengeja yang lebih lengkap <commit>
, lihat bagian "MENGENAL REVISI" di gitrevisions[7]
. Namun, "diff" adalah tentang membandingkan dua titik akhir, bukan rentang, dan notasi rentang (" <commit>..<commit>
" dan " <commit>...<commit>
") tidak berarti rentang seperti yang didefinisikan dalam bagian "TIPE SPESIFIKASI RANG" di gitrevisions[7]
.
git diff master..branch
. Anda dapat mempersingkatgit diff master..
jika Anda berada di cabang. Ther1..r2
sintaks adalah singkatan^r1 r2
yang berarti "menunjukkan segala sesuatu yang turun darir2
dan tidak dicapai darir1
".git help gitrevisions
memiliki informasi tentang berbagai sintaks yang dapat Anda gunakan.