จะเปรียบเทียบสองแท็กกับ git ได้อย่างไร


435

ฉันต้องการทำข้อแตกต่างระหว่างสองแท็กและการเปลี่ยนแปลงที่มุ่งมั่นระหว่างสองแท็กเหล่านั้น คุณช่วยบอกคำสั่งได้ไหม

คำตอบ:


744
$ git diff tag1 tag2

หรือแสดงบันทึกระหว่างพวกเขา:

$ git log tag1..tag2

บางครั้งมันอาจจะสะดวกที่จะดูเฉพาะรายการไฟล์ที่มีการเปลี่ยนแปลง:

$ git diff tag1 tag2 --stat

จากนั้นดูความแตกต่างของไฟล์บางไฟล์:

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

แท็กเป็นเพียงการอ้างอิงถึงการคอมมิทล่าสุด 'บนแท็กนั้น' ดังนั้นคุณจึงทำสิ่งที่แตกต่างระหว่างคอมมิท

นอกจากนี้ยังมีการอ้างอิงที่ดี: http://learn.github.com/p/diff.html


2
@kaiser lol! btw ฉันต้องการเพิ่มเคล็ดลับนี้เพื่อเปรียบเทียบไดเรกทอรีทั้งหมดจากภายในgit guiที่ "tools / add" like git difftool -d $REVISION! และเพื่อเชื่อมคำตอบนี้ด้วย
กุมภ์กุมภ์

มีวิธีทำให้git logคำสั่งแสดงเฉพาะการคอมมิทเพิ่มเติมไม่ใช่คอมมิทที่แชร์หรือไม่?
CMCDragonkai

@CMCDragonkai นั่นคือสิ่งที่คำสั่งนี้มันแสดงให้เห็นถึงความมุ่งมั่นเพิ่มเติมใน tag2 ตั้งแต่ tag1
gauteh

2
มีประโยชน์ด้วย: เพียงแค่สร้างgit diff tag1ความแตกต่างระหว่าง tag1 และไดเรกทอรีการทำงาน git diff tag1 HEADความแตกต่างระหว่าง tag1 และการกระทำล่าสุด
ChrisV

4
ตรวจสอบให้แน่ใจgit pull --tagsก่อน
edburns


2

สำหรับการแสดงภาพแบบเคียงข้างกันฉันใช้git difftoolกับopenDiffชุดเป็นวิวเวอร์เริ่มต้น

ตัวอย่างการใช้งาน:

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

หากคุณสนใจเฉพาะไฟล์ใดไฟล์หนึ่งคุณสามารถใช้:

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

ในฐานะที่เป็นหมายเหตุด้านข้างtags/<TAG>s สามารถถูกแทนที่ด้วย<BRANCH>es หากคุณสนใจที่จะdiffสาขา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.