Kursus
Apa itu Konflik Merge Git?
Sistem version control Git berfokus pada kerja tim dan kontribusi terhadap proyek. Developer biasanya bekerja pada branch terpisah, dan ketika selesai, mereka menggabungkan perubahan ke branch utama. Jenis kerja sama seperti ini sangat produktif dan efektif dalam menemukan bug. Terkadang beberapa developer bekerja pada baris kode yang sama, dan saat mencoba menggabungkan perubahan, timbul konflik.

Contoh sederhana konflik Git
Diagram di atas memberikan contoh sempurna tentang bagaimana konflik merge Git yang umum terjadi. Branch utama memiliki file yang berisi teks “HELLO, WORLD!”. Pengguna abid melakukan fork pada branch utama, dan mengubah teks menjadi “HELLO, CAT!”. Sementara abid membuat perubahan, branch utama asli juga dimodifikasi menjadi “HELLO, DOG!”. Menggabungkan branch ini akan memunculkan konflik merge dan menghentikan prosesnya.
Tugas utama perintah git merge adalah menggabungkan dua branch dan menyelesaikan konflik secara otomatis. Namun, sesekali konflik muncul ketika dua orang mengubah baris kode yang sama atau menghapus file penting yang sedang dikerjakan developer lain. Git akan menandai perubahan tersebut dan menghentikan proses merge. Dalam kasus ini, konflik tidak diselesaikan secara otomatis; developer harus melakukan perubahan secara manual atau menggunakan alat untuk menyelesaikan konflik.
Jenis Merge
Git merge dan rebase adalah dua cara untuk mengintegrasikan commit dari branch target ke branch sumber. Lebih lanjut, Git merge melakukan fast-forward atau no-fast-forward merge. Jika head dari branch target ada di branch sumber, maka secara default tipe merge akan fast-forward, dan jika tidak ada, maka no-fast-forward. Git rebase adalah tipe merge lain yang mengurutkan ulang riwayat commit dari branch target.
Fast-forward merge

Secara default, Git merge menggunakan fast-forward untuk mengintegrasikan commit yang hilang ke branch target. Misalnya, ini digunakan untuk memperbarui branch lokal dari server remote menggunakan perintah pull. Fast-forward tidak menimbulkan konflik merge karena Git tidak akan menerapkannya jika head dari branch target tidak ada di branch sumber.
No-fast-forward merge

No-fast-forward merge juga disebut three-way atau true merge. Ini membuat commit baru pada branch target dengan mengintegrasikan perubahan di kedua branch, sumber dan target. Perubahan digabungkan setelah commit umum terakhir di kedua branch. Dalam contoh kita, setelah C. Jenis merge ini akan memunculkan konflik merge jika branch sumber berselisih dengan branch target. Pada diagram di atas, merge commit (X) dibuat dengan mengintegrasikan branch sumber dan target, di mana K dan E adalah parent dari merge commit tersebut.
Rebase

Git rebase sedikit berbeda dari jenis lainnya. Ini mengubah urutan riwayat commit branch target. Rebase mengintegrasikan branch sumber sedemikian rupa sehingga branch target berisi semua perubahan dari branch sumber, diikuti semua commit branch target setelah commit umum terakhir. Dalam kasus kita, commit umum terakhir adalah C, sedangkan D dan E berasal dari branch sumber. Commit K* sama dengan K dengan id commit yang berbeda. Alih-alih menautkan ke C, ia akan menaut ke E. Mirip dengan no-fast-forward merge, jika ada masalah kompatibilitas antara branch sumber dan target, Git akan menimbulkan isu untuk menyelesaikan konflik sebelum menyelesaikan rebase.
Jenis Konflik Merge Git
Ada dua jenis konflik merge Git: di awal dan selama proses merge - Atlassian. Pada bagian ini, kita akan mempelajari keduanya dan cara menyelesaikan masing-masing skenario.
Pada awal merge
Git merge akan gagal di awal jika ada perubahan di working directory atau staging area. Ini gagal di awal untuk mencegah perubahan ditimpa oleh commit merge yang masuk. Hal ini terjadi karena konflik dengan perubahan lokal, bukan dengan branch atau developer lain. Untuk menstabilkan kondisi lokal, Anda dapat menggunakan perintah seperti git stash, git commit, git checkout, atau git reset.
Selama merge
Kegagalan selama merge berarti ada konflik antara branch sumber dan target di mana beberapa developer telah memodifikasi file yang sama. Jika merge otomatis gagal, Git akan meminta Anda menyelesaikan masalah secara manual. Anda juga dapat menggunakan alat pihak ketiga untuk membantu memvisualisasikan dan mengintegrasikan perubahan.
Perintah untuk Menyelesaikan Konflik Merge Git
Pada bagian ini, kita akan mempelajari berbagai perintah bawaan untuk memvisualisasikan dan menyelesaikan konflik merge Git.
Perintah umum
Git status adalah perintah yang paling sering digunakan untuk menampilkan status file yang dimodifikasi, staging area, dan commit. Selama proses merge, ini digunakan untuk mengidentifikasi file yang berkonflik.
git status
Git log dengan argumen --merge menghasilkan daftar commit yang berkonflik dengan branch sumber.
git log --merge
Secara default, opsi git diff akan menampilkan perbedaan antara perubahan yang belum di-commit dan commit sebelumnya. Git diff digunakan untuk membandingkan branch, commit, dan file. Ini berguna untuk mencegah konflik merge di masa mendatang.
git diff
Perintah saat merge gagal di awal
Checkout digunakan untuk membatalkan perubahan atau beralih ke branch baru atau lama.
git checkout
Git reset digunakan untuk mengembalikan perubahan di working directory dan staging area.
git reset --mixed
Perintah untuk konflik saat merge
Argumen --abort akan menghentikan proses merge dan mengembalikan perubahan ke kondisi semula sebelum merge dimulai.
git merge --abort
Git reset biasanya digunakan selama proses merge untuk mengembalikan file yang berkonflik ke kondisi aslinya.
git reset
Menyelesaikan konflik deleted-modified
Konflik Git akan terjadi jika Anda menghapus file di branch saat ini, dan orang lain memodifikasinya di branch lain. Dalam kasus ini, Anda dapat menambahkan kembali file dan commit,
git add <filename>
atau Anda dapat menghapus file dan commit.
git rm <filename>
📌 Lembar contekan penyelesaian konflik merge Git
| Perintah | Deskripsi | Contoh Penggunaan |
|---|---|---|
git status |
Menampilkan file yang mengalami konflik merge | git status |
git diff |
Menampilkan perbedaan antara commit atau branch | git diff HEAD |
git log --merge |
Menampilkan commit yang terlibat dalam konflik | git log --merge |
git merge --abort |
Membatalkan merge dan memulihkan kondisi sebelumnya | git merge --abort |
git reset --hard HEAD |
Mengatur ulang branch ke kondisi commit terakhir | git reset --hard HEAD |
git checkout -- <filename> |
Menghapus perubahan pada file tertentu | git checkout -- README.md |
git mergetool |
Membuka tool merge terkonfigurasi untuk menyelesaikan konflik | git mergetool |
git add <filename> |
Menandai konflik sebagai terselesaikan setelah pengeditan | git add README.md |
git commit -m "<message>" |
Menyimpan perubahan yang telah diselesaikan setelah konflik merge | git commit -m "Resolved merge conflict" |
git rebase --continue |
Melanjutkan rebase yang terhenti setelah menyelesaikan konflik | git rebase --continue |
git rm <filename> |
Menghapus file yang dihapus di satu branch dan dimodifikasi di branch lain | git rm README.md |
git push |
Mendorong perubahan setelah menyelesaikan konflik merge | git push origin main |
Alat Visual Merge
Merge tool adalah alat visual yang ramah pengguna untuk mengidentifikasi dan menyelesaikan semua jenis konflik merge. Beberapa alat mendukung kemampuan tambahan seperti membandingkan perubahan, operasi Git, serta manajemen proyek dan repositori. Ada dua jenis alat merge Git: berbasis terminal dan berbasis GUI. Alat berbasis terminal terbuka di PowerShell atau Bash, sedangkan yang berbasis GUI terbuka di lingkungan jendela.
Untuk memeriksa daftar alat yang terpasang dan valid, gunakan:
git mergetool --tool-help
Daftar tersebut berisi semua alat valid yang dapat diinstal dan diintegrasikan dengan perintah git.
Misalnya, kita memiliki vim dan nvim yang terpasang secara default, dan jika Anda ingin melihat perbedaan antara file yang belum di-commit dan commit sebelumnya, ketik:
git difftool --tool=vimdiff3
Alat vimdiff3 menyorot perubahan dan memungkinkan Anda membandingkan commit di dalam terminal.

Perbedaan antara dua versi file yang sama di vimdiff3
Meld
Meld adalah alat gratis dan open-source yang membawa penyelesaian konflik merge ke level berikutnya. Untuk mengintegrasikannya dengan Git, Anda perlu terlebih dahulu mengunduh dan memasang berkas instalasi dari situs resmi. Selanjutnya, tambahkan ke konfigurasi global sehingga secara default, Git akan menjalankan Meld untuk menyelesaikan konflik.
Perintah konfigurasi di bawah ini hanya berlaku untuk pengguna Windows. Satu-satunya perubahan yang perlu Anda lakukan adalah mengubah path berkas terpasang Meld untuk Mac atau Linux.
git config --global merge.tool meld
git config --global mergetool.meld.path "C:/Program Files (x86)/Meld/Meld.exe"
git config --global diff.tool meld
git config --global difftool.meld.path "C:/Program Files (x86)/Meld/Meld.exe"
Setelah menyiapkan default, Anda dapat mengetik git difftool di dalam direktori lokal Git untuk membuka Meld versi Windows, atau Anda dapat menjalankan git mergetool untuk menyelesaikan konflik merge seperti yang ditunjukkan di bawah.

Menyelesaikan konflik merge dengan Meld
VSCode
VSCode menyediakan cara terbaik dan paling populer untuk menyelesaikan konflik merge. Ketika Git gagal menggabungkan file secara otomatis, VSCode akan menyorot kode yang berkonflik dan memberi Anda empat opsi: accept current changes, accept incoming changes, accept both changes, dan compare changes. Anda dapat menggunakan opsi-opsi ini untuk merapikan file dan menyelesaikan semua masalah yang tertunda.

Menyelesaikan konflik merge dengan VSCode
Jika Anda mencari solusi lengkap untuk operasi Git Anda, coba GitKraken. Ini hadir dengan klien gratis, ekstensi VSCode, dan menyediakan alat bawaan untuk menyelesaikan konflik merge.
Cara Menyelesaikan Konflik Merge Git
Pada bagian ini, kita akan mempelajari cara membuat konflik merge Git lalu menyelesaikannya. Tutorial dibagi menjadi dua bagian. Pada bagian pertama, kita akan belajar menyelesaikan konflik Git secara lokal; bagian kedua membahas penyelesaian konflik dengan server remote (GitHub).
Konflik merge lokal
Membuat konflik merge akan membantu kita memahami bagaimana masalah ini muncul sejak awal. Lalu kita bisa menggunakan cara kreatif untuk menyelesaikan atau bahkan mencegahnya di masa depan.
Sekarang kita akan membuat repositori Git dengan satu file dan membuat commit pertama untuk memulai.
- Buat folder bernama datacamp.
- Ganti direktori ke datacamp.
- Inisialisasi Git.
- Buat file
README.mddengan judul yang diberikan. - Stage dan commit perubahan pada file.
mkdir datacamp
cd datacamp
git init
echo "# How to Resolve Git Merge Conflict" > README.md
git add README.md
git commit -m "first commit"
>>> [main (root-commit) 8199ea2] first commit
>>> 1 file changed, 1 insertion(+)
>>> create mode 100644 README.md
Selanjutnya, kita akan membuat branch baru readme dan mengubah judul dari “..Git Merge..” menjadi “..Git..”. Tambahkan file dan buat commit menggunakan argumen -am.
git checkout -b readme
echo "# How to Resolve Git Conflict" > README.md
git commit -am "new branch conflict added"
>>> [readme 155f694] new branch conflict added
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
Kembali ke branch main dan tambahkan satu baris baru ke file README.md menggunakan >>. Dengan menyimpan perubahan dan membuat commit, kita telah berhasil membentuk konflik antara dua versi file yang sama.
git checkout main
echo "New change in base branch" >> README.md
git commit -am " a line added to base branch Readme file"
>>> [main f1f1874] a line added to base branch Readme file
>>> 1 file changed, 1 insertion(+)
Seperti yang kita lihat, saat melakukan merge branch readme, Git menampilkan pesan bahwa merge otomatis gagal, dan kita harus melakukan perubahan secara manual lalu commit hasilnya.
git merge readme
>>> Auto-merging README.md
>>> CONFLICT (content): Merge conflict in README.md
>>> Automatic merge failed; fix conflicts and then commit the result.
Kita akan menyelesaikan masalah secara manual dengan membuka dan mengedit file di Notepad. Gambar di bawah menunjukkan panah dengan HEAD, pemisah, dan panah ke arah berbeda dengan readme. Bagian HEAD menunjukkan perubahan yang ada di branch main, dan bagian readme adalah branch yang ingin kita merge, yang berisi judul berbeda.
Menyelesaikan konflik merge secara manual
Untuk menyelesaikan masalah, kita akan menghapus bagian branch readme, panah, dan pemisah. Versi akhir file harus bersih seperti ditunjukkan di bawah.

Konflik terselesaikan
Setelah kita menambahkan file dan membuat commit, konflik merge akan terselesaikan. Ini adalah cara paling umum dan paling sederhana untuk menyelesaikan masalah. Anda juga dapat menggunakan integrated development environment (IDE) untuk menyelesaikan masalah lebih cepat.
git commit -am "conflict resolved in file README.md"
>>> [main 9994a29] conflict resolved in file README.md
Konflik merge remote
Untuk membuat dan menyelesaikan konflik merge remote, kita perlu membuat repositori baru di GitHub.

Membuat repositori baru di GitHub
Berikutnya, tambahkan nama remote (origin) dengan alamat repositori dan push semua perubahan dari repositori lokal ke branch main remote menggunakan upstream.
git remote add origin https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
git push --set-upstream origin main
>>> Enumerating objects: 12, done.
>>> Counting objects: 100% (12/12), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (6/6), done.
>>> Writing objects: 100% (12/12), 998 bytes | 499.00 KiB/s, done.
>>> Total 12 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), done.
>>> To https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
>>> * [new branch] main -> main
>>> branch 'main' set up to track 'origin/main'.
Untuk membuat konflik, kita perlu melakukan perubahan pada file README.md di remote dan lokal. Anda dapat menggunakan editor file GitHub untuk mengubah “..Git merge..” menjadi “..Sit-Merge..” lalu commit perubahannya.

Melakukan perubahan di editor GitHub
Kemudian, di repositori lokal, ubah file README.md untuk hanya menambahkan judul sederhana dan commit perubahannya.
echo "# How to Resolve Merge Conflicts in Git Tutorial" > README.md
git commit -am "local branch changes in README.md"
>>> [main c677a13] local branch changes in README.md
>>> 1 file changed, 1 insertion(+), 4 deletions(-)
Terakhir, push perubahan ke server remote. Perhatikan bahwa Git menampilkan error dengan petunjuk cara menghilangkan masalah tersebut.
git push
>>> To https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
>>> ! [rejected] main -> main (fetch first)
>>> error: failed to push some refs to 'https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git'
>>> hint: Updates were rejected because the remote contains work that you do
>>> hint: not have locally. This is usually caused by another repository pushing
>>> hint: to the same ref. You may want to first integrate the remote changes
>>> hint: (e.g., 'git pull ...') before pushing again.
>>> hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Kita akan mengikuti petunjuk paling sederhana, yaitu menarik (pull) file dari server remote sebelum melakukan push.
Pull file gagal karena konflik merge pada file README.md. Kita bisa memperbaikinya secara manual menggunakan Notepad, tetapi kali ini kita akan menggunakan alat visual untuk membantu proses ini.
git pull
>>> remote: Enumerating objects: 5, done.
>>> remote: Counting objects: 100% (5/5), done.
>>> remote: Compressing objects: 100% (2/2), done.
>>> remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
>>> Unpacking objects: 100% (3/3), 681 bytes | 75.00 KiB/s, done.
>>> From https://github.com/kingabzpro/DataCamp-Git-Merge-Guide
>>> aaf149d..49b7d14 main -> origin/main
>>> Auto-merging README.md
>>> CONFLICT (content): Merge conflict in README.md
>>> Automatic merge failed; fix conflicts and then commit the result.
Merge tool Meld akan mengidentifikasi file yang berkonflik dan menampilkannya di aplikasi GUI Meld.
git mergetool
>>> Merging:
>>> README.md
>>> Normal merge conflict for 'README.md':
>>> {local}: modified file
>>> {remote}: modified file
Ada tiga kolom: README_LOCAL_473.md, README.md, dan README_LOCAL_473.md. Jika Anda menilai perubahan remote yang valid, klik panah hitam di kolom remote; dan jika Anda ingin perubahan lokal dipertahankan, klik panah hitam di kolom local. Semudah itu.

Konflik diselesaikan menggunakan merge tool Meld
Setelah melakukan perubahan, simpan file dan lakukan commit. Seperti yang Anda lihat, melakukan push file ke server remote tidak lagi menimbulkan error konflik merge.
git commit -am "remote main branch conflict resolved"
git push
>>> Enumerating objects: 16, done.
>>> Counting objects: 100% (16/16), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (6/6), done.
>>> Writing objects: 100% (10/10), 1.08 KiB | 550.00 KiB/s, done.
>>> Total 10 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), completed with 1 local object.
>>> To https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
>>> 49b7d14..8f5c3aa main -> main
Kita telah berhasil menyelesaikan konflik merge baik lokal maupun remote. Konflik ini dihadapi setiap hari oleh data scientist dan machine learning engineer. Untuk meningkatkan keterampilan Anda dalam operasi Git, ambil kursus Introduction to Git.
Kesimpulan
Menyelesaikan konflik merge Git adalah tugas yang kompleks dan berisiko tinggi karena Anda bisa merusak perangkat lunak dengan menggabungkan kode yang bermasalah. Merge tool menyediakan lingkungan yang ramah pengguna dengan cara yang lebih aman untuk mendeteksi dan menyelesaikan konflik merge. Dalam tutorial ini, kita telah mempelajari mengapa konflik Git terjadi dan bagaimana menyelesaikannya. Kita juga membahas berbagai jenis merge dan konflik, perintah Git yang berguna, serta alat visual. Pada bagian terakhir, kita membuat konflik merge dan menyelesaikannya di repositori lokal dan remote.
Jika Anda baru di Git dan ingin belajar cara kerjanya, baca: Intro to Git and GitHub Tutorial.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
FAQs
Apa praktik terbaik untuk menghindari konflik merge Git?
Untuk mengurangi risiko konflik:
- Selalu tarik perubahan terbaru (
git pull origin main) sebelum memulai pekerjaan baru. - Berkomunikasilah dengan tim Anda untuk menghindari mengerjakan baris kode yang sama.
- Lakukan commit kecil dan sering daripada yang besar dan kompleks.
- Gunakan feature branch alih-alih commit langsung ke
main. - Jalankan
git diffsebelum merge untuk mendeteksi potensi konflik lebih awal.
Bisakah saya menyelesaikan konflik merge tanpa terminal?
Ya! Banyak alat Git berbasis GUI yang memudahkan penyelesaian konflik:
- VS Code: Menyorot konflik dengan opsi "Accept Incoming" dan "Accept Current".
- GitKraken: Menyediakan antarmuka visual untuk menyelesaikan konflik secara interaktif.
- Meld / Beyond Compare: Merge tool yang membantu membandingkan dan menyelesaikan perbedaan secara visual. Jalankan
git mergetooluntuk menggunakan alat visual yang telah dikonfigurasi.
Mengapa saya terus mendapat konflik merge meskipun sudah menyelesaikannya?
Kemungkinan penyebab meliputi:
- Anda lupa stage (
git add) dan commit (git commit -m "Resolved conflict") file yang telah diselesaikan. - Rekan tim lain mendorong perubahan konflik baru setelah Anda menyelesaikan milik Anda. Coba
git pull --rebase. - Anda belum melakukan push perubahan yang telah diselesaikan sebelum merge lagi. Selalu jalankan
git pushsetelah menyelesaikan konflik.
Apa yang harus saya lakukan jika saya tidak sengaja membatalkan merge (git merge --abort)?
Jika Anda membatalkan merge tetapi ingin mencoba lagi, Anda dapat:
- Cukup jalankan ulang perintah merge (
git merge <branch-name>). - Gunakan
git refloguntuk memeriksa kondisi sebelumnya sebelum abort dan pulihkan jika diperlukan.
Bagaimana cara membatalkan kesalahan saat menyelesaikan konflik merge?
Jika Anda membuat kesalahan saat menyelesaikan konflik:
- Jalankan
git reset --hard HEADuntuk membuang semua perubahan dan memulai ulang. - Gunakan
git checkout -- <filename>untuk mengembalikan file tertentu ke kondisi aslinya. - Jika Anda sudah melakukan commit atas kesalahan tersebut, gunakan
git revert <commit-hash>untuk membuat commit baru yang membatalkan perubahan.
Bagaimana cara menyelesaikan konflik merge pada file biner?
Git tidak dapat melakukan merge file biner secara otomatis (misalnya, gambar, PDF). Untuk menyelesaikannya:
- Pilih secara manual versi mana yang akan dipertahankan dan gantikan file.
- Gunakan
git checkout --theirs <filename>ataugit checkout --ours <filename>untuk mempertahankan salah satu versi. - Commit file yang telah diselesaikan (
git add <filename> && git commit -m "Resolved binary file conflict").
Apa perbedaan antara git merge --abort dan git reset --merge?
git merge --abort: Dengan aman membatalkan merge dan mengembalikan branch ke kondisi sebelumnya sebelum merge.git reset --merge: Serupa, tetapi mempertahankan file yang sudah di-stage dan bisa lebih berguna jika Anda ingin menyimpan perubahan tertentu.
Bagaimana cara menyelesaikan konflik merge saat melakukan push ke GitHub?
Jika git push gagal dengan error konflik merge, coba langkah berikut:
- Tarik perubahan terbaru:
git pull origin main --rebase - Selesaikan konflik secara manual di branch lokal Anda.
- Stage dan commit file yang telah diselesaikan:
git add <conflicted-file>
git commit -m "Resolved merge conflict"
- Push lagi:
git push origin main
Apa itu konflik rebase, dan bagaimana cara memperbaikinya?
Konflik rebase terjadi saat menjalankan git rebase <branch> dan perubahan tidak dapat diterapkan dengan bersih. Untuk memperbaikinya:
- Selesaikan konflik secara manual, lalu jalankan
git rebase --continue. - Jika Anda ingin membatalkan rebase, gunakan
git rebase --abort. - Gunakan
git rebase --skipjika Anda ingin mengabaikan commit yang berkonflik.
Bisakah saya menggabungkan branch tanpa konflik menggunakan pengaturan Git?
Git memiliki strategi auto-merge yang kadang membantu:
- Gunakan
git merge -X theirs <branch>untuk selalu menerima perubahan branch lain. - Gunakan
git merge -X ours <branch>untuk selalu mempertahankan perubahan branch Anda. Namun, ini tidak pasti dan harus digunakan dengan hati-hati.

