Rebase Interaktif untuk Riwayat
Gunakan rebase interaktif untuk menulis ulang riwayat commit, menggabungkan commit, mengurutkannya kembali, atau mengedit pesannya sebelum push.
Rebase Interaktif untuk Riwayat adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Mengenal Rebase Interaktif
Selamat datang di alat Git yang andal: rebase interaktif! Alat ini memungkinkan Anda menulis ulang riwayat commit proyek sebelum membagikannya kepada orang lain.
Anggap saja ini sebagai mesin waktu untuk commit Anda, yang memungkinkan Anda merapikan, menggabungkan, atau mengurutkan ulang perubahan untuk membuat alur kerja yang jelas dan linear.
Mengapa Merapikan Riwayat?
Mengapa Anda ingin menulis ulang riwayat?
- Kejelasan: Buat log commit proyek Anda mudah dibaca dan dipahami.
- Keringkasan: Gabungkan commit kecil yang dibuat bertahap menjadi satu perubahan yang bermakna.
- Penelusuran kesalahan: Riwayat yang rapi membantu saat menggunakan alat seperti
git bisectuntuk menemukan titik diperkenalkannya bug. - Pull Request yang lebih baik: Sajikan serangkaian perubahan yang telah dipoles kepada kolaborator.
Memulai Rebase Interaktif
Untuk memulai rebase interaktif, Anda akan menggunakan perintah git rebase -i. Anda perlu menentukan seberapa jauh ke belakang Anda ingin kembali.
Misalnya, untuk melakukan rebase pada 3 commit terakhir di cabang saat ini, gunakan:
git rebase -i HEAD~3Perintah ini membuka editor yang menampilkan 3 commit terakhir beserta perintah yang tersedia.
Perintah Editor Rebase
Saat Anda memulai rebase interaktif, Git membuka editor teks yang berisi daftar commit dan petunjuk. Setiap commit diawali dengan sebuah perintah:
pick: Gunakan commit apa adanya.reword: Gunakan commit, tetapi edit pesannya.edit: Gunakan commit, tetapi jeda untuk mengubahnya.squash: Gabungkan dengan commit sebelumnya dan gabungkan pesannya.fixup: Gabungkan dengan commit sebelumnya dan buang pesan commit ini.drop: Hapus commit sepenuhnya.
Contoh: Mengubah Pesan Commit
Misalkan terdapat kesalahan ketik dalam pesan commit Anda. Anda dapat menggunakan reword untuk memperbaikinya. Ubah pick menjadi reword di sebelah commit yang ingin Anda ubah:
pick 5a6b7c8 Add new feature pick 1d2e3f4 Fix typo in docs reword 9g0h1i2 Implement login screen
Setelah menyimpan dan menutup editor, Git akan meminta Anda mengedit pesan untuk commit 9g0h1i2.
Contoh: Menggabungkan Commit
Sering kali Anda membuat beberapa commit kecil yang saling berkaitan, padahal semuanya dapat dijadikan satu. Gunakan squash untuk menggabungkannya.
pick a1b2c3d Initial feature commit squash e4f5g6h Add more details fixup i7j8k9l Fix small bug
Di sini, e4f5g6h akan digabungkan ke dalam a1b2c3d, termasuk penggabungan pesan keduanya. i7j8k9l juga akan digabungkan ke dalam a1b2c3d, tetapi pesannya akan dibuang (fixup).
Contoh: Menghapus Commit
Jika Anda memiliki commit percobaan yang tidak lagi diperlukan, Anda dapat menghapusnya dari riwayat dengan drop. Cukup ubah pick menjadi drop atau hapus seluruh barisnya:
pick 1122334 Initial setup drop 5566778 Test experimental feature pick 9900112 Add user authentication
Setelah disimpan, commit 5566778 akan dihapus sepenuhnya dari riwayat cabang Anda.
Contoh: Mengurutkan Ulang Commit
Anda juga dapat mengubah urutan commit. Cukup potong dan tempel baris di editor untuk mengaturnya ulang. Git akan menerapkan perubahan dalam urutan baru.
Urutan asli:
pick abcdef1 Add feature A pick 1234567 Add feature B
Urutan baru:
pick 1234567 Add feature B pick abcdef1 Add feature A
Berhati-hatilah, karena pengurutan ulang dapat menimbulkan konflik jika commit saling bergantung.
Aturan Emas: Jangan Merebase Riwayat yang Dibagikan!
Ini sangat penting: Jangan pernah melakukan rebase pada commit yang sudah didorong ke repositori remote bersama (seperti GitHub atau GitLab) dan mungkin sudah diambil oleh orang lain.
Rebase menulis ulang ID commit. Jika orang lain telah mendasarkan pekerjaan mereka pada commit asli, commit hasil rebase Anda akan terlihat sebagai riwayat yang sepenuhnya berbeda, sehingga menimbulkan konflik besar dan kebingungan bagi semua pihak.
Hanya lakukan rebase pada commit yang hanya ada di cabang lokal Anda!
Pemeriksaan Perintah Rebase
Anda memiliki tiga commit: A (Initial), B (Minor fix), C (Refactor). Anda ingin menggabungkan B ke dalam A dengan tetap mempertahankan pesan asli A, lalu mempertahankan C apa adanya. Perintah apa yang akan Anda gunakan di editor rebase interaktif (dari yang paling lama hingga yang paling baru)?
Rangkuman Rebase Interaktif
Anda telah mempelajari perintah Git yang andal, git rebase -i!
- Perintah ini memungkinkan Anda menulis ulang riwayat commit lokal.
- Anda dapat mengubah pesan dengan
reword, menggabungkan commit dengansquashataufixup, menghapus perubahan yang tidak diinginkan dengandrop, dan bahkan mengurutkan ulang commit. - Selalu ingat aturan emas: NEVER melakukan rebase pada commit yang sudah didorong ke remote bersama.
Menguasai rebase interaktif membantu menjaga riwayat proyek tetap rapi dan mudah dipahami!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Rebase Interaktif untuk Riwayat” gratis?
Ya — teks lengkap “Rebase Interaktif untuk Riwayat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Rebase Interaktif untuk Riwayat”?
Gunakan rebase interaktif untuk menulis ulang riwayat commit, menggabungkan commit, mengurutkannya kembali, atau mengedit pesannya sebelum push. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Rebase Interaktif untuk Riwayat” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Penyelesaian Konflik Merge Manual
- Rebase Interaktif untuk Riwayat
- Memilih Commit dengan Cherry-pick
- Menggunakan Git Rerere untuk Menggunakan Kembali Penyelesaian Konflik