Menu
CoddyTech

Git Rebase

Terakhir diperbarui

git rebase memindahkan commit di branch-mu supaya dijalankan ulang di atas branch lain, menghasilkan riwayat yang lurus, bukan merge commit. Rebase interaktif (-i) bisa lebih jauh lagi: kamu bisa melakukan squash, mengubah urutan, mengedit, atau membuang commit. Karena rebase menulis ulang commit, lakukan hanya pada pekerjaan yang belum kamu bagikan.

Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.

git rebase memutar ulang commit branch-mu di atas main sebagai salinan baru, menghasilkan riwayat yang lurus.

Sintaks

PerintahFungsinya
git rebase mainMenjalankan ulang commit-mu di atas main
git rebase -i HEAD~3Mengedit 3 commit terakhir secara interaktif
git rebase --onto main old newMemindahkan rentang commit ke atas main
git rebase --continueMelanjutkan setelah konflik selesai
git rebase --abortMembatalkan rebase, mengembalikan branch
git pull --rebasePull lalu rebase, bukan merge

Kata kunci rebase interaktif

Di editor yang dibuka oleh -i, ganti pick dengan salah satu kata kunci ini.

Kata kunciFungsinya
pickMempertahankan commit
rewordMempertahankan commit, mengedit pesannya
squashMelebur ke commit sebelumnya, menggabungkan pesannya
fixupMelebur ke commit sebelumnya, membuang pesan ini
dropMenghapus commit sepenuhnya

Pertanyaan seputar git rebase

Apa fungsi git rebase?

Perintah ini mengambil commit di branch saat ini dan menjalankannya ulang satu per satu di atas branch lain, seolah-olah kamu memulai pekerjaanmu dari commit terbaru branch itu. Hasilnya riwayat yang lurus tanpa merge commit. Dalam prosesnya, commit-commit itu ditulis ulang (mendapat hash baru).

Apa itu rebase interaktif?
git rebase -i <base> membuka editor berisi daftar commit sejak <base>, tempat kamu bisa mengubah urutannya, menggabungkan beberapa commit menjadi satu dengan squash, mengubah pesan dengan reword, mengedit commit dengan edit, atau membuangnya dengan drop. Inilah alat utama untuk merapikan rangkaian commit yang berantakan sebelum dibagikan.
Apa aturan emas rebase?
Jangan pernah rebase commit yang sudah dijadikan dasar pekerjaan orang lain, biasanya apa pun yang sudah di-push ke branch bersama. Karena rebase menulis ulang commit, melakukannya memaksa semua orang lain menyelaraskan riwayat yang sudah menyimpang. Bebas rebase commit lokal yang belum di-push; pakai merge atau revert untuk commit yang sudah publik.
Bagaimana cara memperbaiki atau membatalkan rebase yang konflik?
Saat rebase berhenti karena konflik, selesaikan file-nya, jalankan git add pada file itu, lalu jalankan git rebase --continue. Pakai git rebase --skip untuk membuang commit saat ini, atau git rebase --abort untuk membatalkan sepenuhnya dan mengembalikan branch seperti sebelum rebase dimulai.
Bisakah saya berlatih ini secara online?
Bisa. Buka playground terminal untuk menjalankan git rebase di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas rebase langkah demi langkah.
Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai