Cara Mengatasi Merge Conflict di Git

Salah satu situasi yang paling sering membuat developer pemula panik adalah munculnya merge conflict di Git. Tapi jangan khawatir โ€” merge conflict itu normal, bahkan developer berp...

Cara Mengatasi Merge Conflict di Git

Salah satu situasi yang paling sering membuat developer pemula panik adalah munculnya merge conflict di Git. Tapi jangan khawatir โ€” merge conflict itu normal, bahkan developer berpengalaman pun sering menghadapinya. Memahami cara membacanya dan menyelesaikannya dengan benar adalah keterampilan penting yang akan kamu butuhkan setiap kali bekerja dalam tim.

Apa Itu Merge Conflict?

Merge conflict terjadi ketika dua branch mengubah baris yang sama pada file yang sama, dan Git tidak bisa menentukan secara otomatis versi mana yang harus dipertahankan. Git akan menghentikan proses merge dan meminta kamu untuk menyelesaikan konflik secara manual sebelum melanjutkan.

Konflik biasanya muncul saat:

  • Dua developer mengubah baris yang sama di file yang sama.
  • Satu orang mengubah file sementara orang lain menghapusnya.
  • Melakukan rebase pada branch yang sudah lama tidak disinkronkan dengan main.

Contoh Skenario Merge Conflict

Bayangkan kamu dan rekan timmu sama-sama mengubah file index.html di baris yang sama. Ketika kamu mencoba merge branch rekanmu ke branch kamu:

git checkout main
git merge fitur-header

Git menampilkan pesan seperti ini:

Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

Membaca Tanda Konflik di File

Buka file yang konflik. Git akan menandai bagian yang bertentangan dengan marker khusus:

<<<<<<< HEAD
<h1>Selamat Datang di Website Kami</h1>
=======
<h1>Halo, Selamat Datang!</h1>
>>>>>>> fitur-header

Penjelasan tanda-tanda tersebut:

  • <<<<<<< HEAD โ€” versi kode dari branch kamu saat ini (main).
  • ======= โ€” pemisah antara dua versi yang konflik.
  • >>>>>>> fitur-header โ€” versi kode dari branch yang ingin digabungkan.

Langkah-Langkah Menyelesaikan Merge Conflict

  1. Identifikasi file yang konflik dengan git status. File yang konflik ditandai sebagai both modified.
  2. Buka file tersebut menggunakan editor teks atau IDE favoritmu.
  3. Pilih versi yang benar โ€” bisa salah satu, atau gabungan keduanya. Hapus seluruh marker Git (<<<<<<<, =======, >>>>>>>) dan sisakan konten yang kamu inginkan.
  4. Simpan file setelah konflik diselesaikan.
  5. Tandai sebagai resolved dengan menambahkan file ke staging:
git add index.html
  1. Selesaikan merge dengan membuat commit:
git commit -m "Menyelesaikan merge conflict pada index.html"

Menggunakan Merge Tool Bawaan

Git menyediakan perintah untuk membuka merge tool grafis yang lebih mudah dibaca:

git mergetool

Kamu bisa mengatur tool yang ingin digunakan, misalnya VS Code:

git config --global merge.tool vscode
git config --global mergetool.vscode.cmd "code --wait $MERGED"

Menghindari Merge Conflict di Masa Depan

Beberapa praktik terbaik untuk meminimalkan konflik:

  • Sering-seringlah melakukan git pull dari branch utama agar branch kamu selalu up-to-date.
  • Bagi tugas dengan jelas dalam tim agar tidak ada dua orang mengerjakan file yang sama secara bersamaan.
  • Buat branch yang berumur pendek โ€” selesaikan fitur, lalu merge secepatnya.
  • Gunakan komunikasi aktif dengan tim sebelum mengubah file kritis seperti konfigurasi utama.

Membatalkan Merge yang Sedang Berlangsung

Jika kamu memutuskan untuk membatalkan proses merge dan kembali ke kondisi sebelum merge dimulai:

git merge --abort

Perintah ini hanya bisa dijalankan selama proses merge masih berlangsung (sebelum commit diselesaikan).

Kesimpulan

Merge conflict adalah bagian alami dari kolaborasi dengan Git. Kuncinya adalah membaca marker konflik dengan teliti, memilih versi kode yang paling benar (atau menggabungkan keduanya), menghapus semua marker, lalu commit hasilnya. Dengan latihan dan komunikasi tim yang baik, kamu akan semakin cepat dan percaya diri dalam menyelesaikan konflik. Jangan panik โ€” conflict bukan error, melainkan sinyal bahwa Git butuh pertimbanganmu sebagai manusia.

merge conflict git cara mengatasi conflict git git merge conflict resolve conflict git git tutorial konflik git
Bagikan artikel
Kembali

Komentar (0)

Punya pertanyaan atau tambahan? Tulis di bawah โ€” tak perlu login.

Membalas komentarโ€ฆ batal

Belum ada komentar. Jadilah yang pertama!

๐Ÿš€ Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • โœ” Source Code Premium
  • โœ” Sistem Siap Pakai
  • โœ” Lifetime Update
  • โœ” Membership Lifetime
  • โœ” Update Aplikasi Harian
Daftar Membership โ†’