git diff `git merge-base master branch`..branch
ฐานผสานเป็นจุดที่แยกออกมาจากbranch
master
Git diff รองรับไวยากรณ์พิเศษสำหรับสิ่งนี้:
git diff master...branch
คุณต้องไม่สลับข้างเพราะคุณจะได้สาขาอื่น คุณต้องการที่จะรู้ว่าสิ่งที่เปลี่ยนแปลงไปในbranch
เมื่อมันแยกออกจากกันmaster
ไม่ได้ในทางอื่น
เกี่ยวข้องอย่างหลวม:
โปรดทราบว่า..
และ...
ไวยากรณ์ไม่มีความหมายเดียวกันกับในเครื่องมือ Git อื่น ๆ man gitrevisions
มันแตกต่างจากความหมายที่ระบุไว้ใน
ข้อความman git-diff
:
git diff [--options] <commit> <commit> [--] [<path>…]
<commit>
นี่คือเพื่อดูการเปลี่ยนแปลงระหว่างสองโดยพลการ
git diff [--options] <commit>..<commit> [--] [<path>…]
สิ่งนี้มีความหมายเหมือนกับแบบฟอร์มก่อนหน้า หาก<commit>
ละเว้นด้านหนึ่งจะมีผลเหมือนกับการใช้HEAD
แทน
git diff [--options] <commit>...<commit> [--] [<path>…]
แบบฟอร์มนี้เพื่อดูการเปลี่ยนแปลงในสาขาที่มีถึงสองเริ่มต้นที่มีบรรพบุรุษร่วมกันของทั้งสอง<commit>
<commit>
" git diff A...B
" เทียบเท่ากับ " git diff $(git-merge-base A B) B
" คุณสามารถละเว้นสิ่งใดสิ่งหนึ่ง<commit>
ซึ่งมีผลเหมือนกับการใช้HEAD
แทน
ในกรณีที่คุณกำลังทำสิ่งแปลกใหม่ควรสังเกตว่า<commit>
คำอธิบายทั้งหมดข้างต้นยกเว้นในสองรูปแบบสุดท้ายที่ใช้เครื่องหมาย ".. " อาจเป็น<tree>
ได้
สำหรับรายการที่สมบูรณ์มากขึ้นของวิธีการที่จะสะกด<commit>
ให้ดู "ระบุแก้ไขใน" gitrevisions[7]
ในหัวข้อ อย่างไรก็ตาม "ต่าง" เป็นเรื่องเกี่ยวกับการเปรียบเทียบสองจุดสิ้นสุดไม่ได้ช่วงและเครื่องหมายช่วง ( " <commit>..<commit>
'และ' <commit>...<commit>
") ไม่ได้หมายถึงช่วงตามที่กำหนดไว้ในส่วน 'การระบุช่วง' gitrevisions[7]
ในหัวข้อ
git diff master..branch
. คุณสามารถย่อให้สั้นลงgit diff master..
ถ้าคุณอยู่ในสาขาr1..r2
ไวยากรณ์สั้นสำหรับ^r1 r2
ซึ่งหมายถึง "แสดงให้ฉันทุกอย่างที่ลงมาจากr2
และไม่สามารถเข้าถึงได้จากr1
"git help gitrevisions
มีข้อมูลเกี่ยวกับไวยากรณ์ต่าง ๆ ที่คุณสามารถใช้ได้