Part 13 - Menyelesaikan Merge Conflict

1. Apa Itu Merge Conflict?

Merge conflict terjadi ketika dua branch mengubah baris kode yang sama, dan Git tidak bisa memutuskan mana yang benar. Konflik harus diselesaikan secara manual oleh developer.

2. Kapan Merge Conflict Terjadi?

  • Saat git merge
  • Saat git pull (karena pull = fetch + merge)
  • Saat rebase (tidak dibahas di seri ini)

Jika terjadi conflict, Git akan menandai file seperti ini:

<<<<<<< HEAD
kode versi lokal (branch sekarang)
=======
kode versi remote / branch lain
>>>>>>> fitur-login

3. Cara Menyelesaikan Merge Conflict

1. Buka file yang konflik

Cari tanda:

<<<<<<<
=======
>>>>>>>

2. Pilih salah satu versi atau gabungkan

Hapus tanda konflik dan sisakan kode final yang kamu inginkan.

3. Tambahkan file yang sudah dibersihkan

git add .

4. Commit penyelesaian konflik

git commit -m "menyelesaikan merge conflict"

4. Menggunakan Editor untuk Menyelesaikan Konflik

Banyak editor modern yang mempermudah merge conflict seperti:

  • VSCode (menampilkan tombol: Accept Current, Accept Incoming, Accept Both)
  • PHPStorm
  • Sublime Merge

VSCode sangat direkomendasikan karena paling mudah dipakai.

5. Menghindari Merge Conflict

  • Sering lakukan git pull sebelum mulai coding.
  • Gunakan branch terpisah untuk setiap fitur.
  • Commit secara rutin dan jangan menumpuk perubahan terlalu banyak.
  • Selalu sinkronkan branch fitur dengan branch main.

6. Ringkasan

  • Merge conflict muncul ketika perubahan di dua branch saling bertabrakan.
  • Selesaikan manual: edit file → hapus tanda konflik → simpan.
  • Gunakan git add dan git commit untuk mengonfirmasi penyelesaian.
  • Gunakan VSCode untuk penyelesaian konflik lebih mudah.

Di Part 14, kita masuk ke fitur penting untuk menandai rilis software: git tag.


Yan Afriyoko

I am Yan Afriyoko, A Software Engineer with more than 8+ years of experience. I have completed over 250 projects, focusing on developing robust and efficient web applications. In addition, I am an expert in creating Software-as-a-Service (SaaS) development, API integration, and e-commerce projects.