ลองจินตนาการว่าเรามีmaster
สาขา
จากนั้นเราสร้าง newbranch
git checkout -b newbranch
และสร้างใหม่สองคอมมิตถึงnewbranch
: commit1และcommit2
จากนั้นเราเปลี่ยนเป็นต้นแบบและทำ cherry-pick
git checkout master
git cherry-pick hash_of_commit1
เมื่อมองgitk
ดูเราจะเห็นว่าcommit1และเวอร์ชั่นที่เลือกโดยเชอร์รี่นั้นมีแฮชที่แตกต่างกันดังนั้นในทางเทคนิคแล้วพวกมันต่างกันสองคอมมิชชัน
ในที่สุดเราก็รวมnewbranch
เป็นmaster
:
git merge newbranch
และดูว่าทั้งสองการกระทำที่มีแฮชต่างกันถูกรวมเข้าด้วยกันโดยไม่มีปัญหาถึงแม้ว่าพวกเขาบอกเป็นนัยว่าควรใช้การเปลี่ยนแปลงเดียวกันสองครั้งดังนั้นหนึ่งในนั้นจึงควรล้มเหลว
Git ทำการวิเคราะห์เนื้อหาของคอมมิชชันอย่างชาญฉลาดในขณะที่ผสานและตัดสินใจว่าไม่ควรใช้การเปลี่ยนแปลงสองครั้งหรือคอมมิชชันเหล่านี้มีการทำเครื่องหมายภายในเป็นการเชื่อมโยงเข้าด้วยกัน?