Mengganti Base Branch Sebelum Merge di Git

1 menit baca.
Tags: Git

Kadang kamu bikin branch dari base yang salah, lalu merge request-nya penuh commit yang tidak ada hubungannya. Solusinya, pindahkan branch ke base yang benar.

Cara paling bersih adalah git rebase --onto.

Kapan dipakai

Pakai kalau:

  • feature branch dibuat dari branch yang salah
  • target merge berubah
  • diff PR/MR menampilkan commit yang tidak terkait

Pola command

git rebase --onto <newBase> <oldBase> <featureBranch>

Artinya:

  • ambil commit di featureBranch yang ada setelah oldBase
  • putar ulang di atas newBase

Contoh nyata

Kamu bikin feature/login-ui dari develop, padahal targetnya main:

git checkout feature/login-ui
git rebase --onto main develop feature/login-ui

Setelah ini, history branch-nya berbasis main.

Cek keamanan sebelum rebase

Jalankan dulu:

git status
git log --oneline --decorate --graph -20

Kalau masih ada perubahan yang belum di-commit, stash atau commit dulu.

Branch backup juga disarankan:

git branch backup/feature-login-ui

Menangani conflict

Kalau muncul conflict:

  1. perbaiki file secara manual
  2. stage perubahannya: git add <files>
  3. lanjutkan: git rebase --continue

Kalau perlu, batalkan:

git rebase --abort

Push setelah rebase

History berubah, jadi force push dengan aman:

git push --force-with-lease origin feature/login-ui

Pakai --force-with-lease, jangan --force biasa.