Bagaimana cara membandingkan dua tag dengan git?


435

Saya ingin melakukan perbedaan antara dua tag dan melakukan perubahan di antara kedua tag tersebut. Bisakah Anda memberi tahu saya perintahnya?

Jawaban:


744
$ git diff tag1 tag2

atau tampilkan log di antara mereka:

$ git log tag1..tag2

kadang-kadang mungkin nyaman untuk melihat hanya daftar file yang diubah:

$ git diff tag1 tag2 --stat

dan kemudian lihat perbedaan untuk beberapa file tertentu:

$ git diff tag1 tag2 -- some/file/name

Tag hanyalah referensi ke komit terbaru 'pada tag itu', sehingga Anda melakukan perbedaan pada komit di antara mereka.

Juga, referensi yang bagus: http://learn.github.com/p/diff.html


2
@kaiser lol! btw, saya ingin menambahkan tip ini untuk membandingkan seluruh direktori dari dalam git guidi "tools / add" like git difftool -d $REVISION! dan untuk menghubungkan jawaban ini juga
Aquarius Power

Apakah ada cara untuk membuat git logperintah hanya menampilkan komit tambahan, bukan komit bersama?
CMCDragonkai

@ CMCDragonkai itulah yang dilakukan perintah ini, ini menunjukkan komit tambahan pada tag2 sejak tag1.
gauteh

2
Juga bermanfaat: cukup git diff tag1memberikan perbedaan antara tag1 dan direktori kerja; git diff tag1 HEADperbedaan antara tag1 dan komit terbaru.
ChrisV

4
Pastikan lakukan git pull --tagsterlebih dahulu.
edburns


2

Untuk sisi-by-side representasi visual, saya menggunakan git difftooldengan openDiffset untuk penampil default.

Contoh penggunaan:

git difftool tags/<FIRST TAG> tags/<SECOND TAG>

Jika Anda hanya tertarik pada file tertentu, Anda dapat menggunakan:

git difftool tags/<FIRST TAG>:<FILE PATH> tags/<SECOND TAG>:<FILE PATH>

Sebagai catatan tambahan, huruf tags/<TAG>s dapat diganti dengan <BRANCH>es jika Anda tertarik pada diffcabang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.