Branching & Merging

Mengelola cabang kode untuk eksperimen fitur dan cara menangani konflik saat penggabungan.
Author : Celvine
Last Update : 26 January 2026

Bayangkan kamu sedang mengerjakan fitur baru yang berisiko merusak kode utama yang sudah berjalan lancar. Di sinilah Branching berperan.

Branching memungkinkan kamu membuat "salinan" terpisah dari kode kamu untuk bereksperimen. Jika eksperimen berhasil, kamu bisa menggabungkannya (Merge) kembali. Jika gagal, kamu bisa membuangnya tanpa mempengaruhi kode utama.

1. Branching (git branch, git checkout, git switch)

Secara default, kamu bekerja di branch bernama main (atau master pada versi Git lama). Mari kita buat branch baru untuk membuat fitur simulasi.

Langkah 1: Membuat Branch Baru Kita akan membuat branch bernama fitur-navbar.

git branch fitur-navbar

Langkah 2: Pindah ke Branch Baru Setelah dibuat, kita harus "masuk" ke branch tersebut agar perubahan kita tersimpan di sana, bukan di main.

git checkout fitur-navbar

Tips Modern: Git versi terbaru mengenalkan perintah git switch fitur-navbar yang fungsinya sama dengan checkout tapi lebih spesifik untuk pindah branch.

Langkah 3: Lakukan Perubahan Sekarang kamu ada di branch fitur-navbar. Coba buat file baru:

touch navbar.html
git add navbar.html
git commit -m "Menambahkan file navbar"

Saat ini, file navbar.html hanya ada di branch fitur-navbar. Jika kamu kembali ke main, file itu tidak akan ada di sana. Ini membuktikan bahwa pekerjaan kamu terisolasi.


2. Merging (git merge)

Setelah kamu selesai mengerjakan fitur di branch fitur-navbar dan yakin semuanya berjalan baik, saatnya menggabungkan hasil kerja tersebut ke branch utama (main).

Langkah 1: Pindah ke Branch Tujuan Kita harus kembali ke branch penerima (biasanya main).

git checkout main

Langkah 2: Menggabungkan Branch Perintahkan Git untuk mengambil perubahan dari fitur-navbar dan memasukkannya ke main.

git merge fitur-navbar

Jika tidak ada masalah, Git akan melakukan "Fast-forward", dan sekarang kode di main sudah memiliki fitur dari fitur-navbar.


3. Resolusi Konflik (Conflict Resolution)

Ini adalah momen yang sering ditakuti pemula, tapi sebenarnya ini hal yang wajar.

Kapan Conflict Terjadi? Conflict terjadi ketika dua branch mengubah baris yang sama pada file yang sama, dan Git bingung perubahan mana yang harus diambil saat di-merge.

Simulasi Conflict:

  1. Di branch main, ubah baris 1 file index.html menjadi: "Ini Judul Main". Commit perubahannya.
  2. Di branch fitur-navbar, ubah baris 1 file index.html menjadi: "Ini Judul Fitur". Commit perubahannya.
  3. Coba merge fitur-navbar ke dalam main.

Git akan berteriak: CONFLICT (content): Merge conflict in index.html.

Cara Memperbaiki Conflict:

Langkah 1: Buka File yang Konflik Buka index.html di text editor. Kamu akan melihat tanda aneh seperti ini:

<<<<<<< HEAD
Ini Judul Main
=======
Ini Judul Fitur
>>>>>>> fitur-navbar
  • <<<<<<< HEAD: Menandakan kode yang ada di branch kamu saat ini (main).
  • =======: Pemisah.
  • >>>>>>> fitur-navbar: Menandakan kode yang datang dari branch yang mau di-merge.

Langkah 2: Edit Manual Tugas kamu adalah menghapus tanda-tanda tersebut (<<<, ===, >>>) dan memilih kode mana yang benar, atau menggabungkan keduanya.

Misalnya, kita ubah menjadi:

Ini Judul Final Gabungan

Simpan file tersebut.

Langkah 3: Finalisasi Merge Setelah diedit dan disimpan, beritahu Git bahwa konflik sudah selesai.

git add index.html
git commit -m "Memperbaiki conflict pada judul"

Selesai! Konflik teratasi.

On this page