dari https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Ini pada dasarnya akan melakukan penggabungan palsu. Ini akan mencatat komit gabungan baru dengan kedua cabang sebagai orang tua, tetapi bahkan tidak akan melihat cabang tempat Anda bergabung. Ini hanya akan mencatat sebagai hasil dari gabungan kode yang tepat di cabang Anda saat ini.
$ git merge -s ours mundo
Merge dibuat oleh strategi 'kita'.
$ git diff HEAD HEAD~
Anda dapat melihat bahwa tidak ada perbedaan antara cabang tempat kami berada dan hasil penggabungan.
Hal ini sering berguna untuk menipu Git agar berpikir bahwa cabang sudah digabung ketika melakukan penggabungan nanti. Sebagai contoh, katakanlah Anda bercabang keluar dari cabang rilis dan telah melakukan beberapa pekerjaan di atasnya yang Anda ingin bergabung kembali ke cabang master Anda di beberapa titik. Sementara itu beberapa perbaikan bug pada master perlu di-backport ke cabang rilis Anda. Anda bisa menggabungkan cabang perbaikan bug ke cabang rilis dan juga menggabungkan -s cabang kami yang sama ke cabang master Anda (meskipun perbaikan sudah ada di sana) sehingga ketika Anda nanti menggabungkan cabang rilis lagi, tidak ada konflik dari perbaikan bug.
Suatu situasi yang saya temukan berguna jika saya ingin master untuk mencerminkan perubahan cabang topik baru. Saya perhatikan bahwa -Xtheirs tidak bergabung tanpa konflik dalam beberapa keadaan ... misalnya
$ git merge -Xtheirs topicFoo
CONFLICT (modify/delete): js/search.js deleted in HEAD and modified in topicFoo. Version topicFoo of js/search.js left in tree.
Dalam hal ini solusi yang saya temukan adalah
$ git checkout topicFoo
dari topicFoo, penggabungan pertama dalam master menggunakan strategi -s kita, ini akan membuat komit palsu yang hanya keadaan dari topicFoo. $ git merge -s master kita
periksa komit gabungan yang dibuat
$ git log
sekarang checkout cabang utama
$ git checkout master
menggabungkan cabang topik kembali tetapi kali ini menggunakan strategi rekursif -Xtheirs, ini sekarang akan memberi Anda cabang utama dengan keadaan topicFoo.
$ git merge -X theirs topicFoo