Bir master
şubemiz olduğunu hayal edelim .
Sonra bir newbranch
git checkout -b newbranch
ve iki yeni taahhütte bulununnewbranch
: commit1 ve commit2
Sonra ustaya geçiyoruz ve cherry-pick
git checkout master
git cherry-pick hash_of_commit1
İçine bakıyor gitk
biz görüyoruz commit1 yüzden teknik olarak iki farklı onaylatabilirsiniz vardır ve onun kiraz aldı versiyonu farklı karmaları var.
Sonunda birleştirme newbranch
içine master
:
git merge newbranch
farklı karmaları olan bu iki taahhüdün, aynı değişikliklerin iki kez uygulanması gerektiğini ima etmelerine rağmen, sorunsuz bir şekilde birleştirildiğini görüyoruz, bu yüzden bunlardan biri başarısız olmalı.
Git gerçekten birleştirme sırasında taahhüt içeriğinin akıllıca analizini yapıyor mu ve değişikliklerin iki kez uygulanmaması gerektiğine mi karar veriyor veya bu taahhütler dahili olarak birbirine bağlı olarak mı işaretleniyor?