Rebase
Rebase
adalah proses mengubah riwayat komit suatu cabang dengan menerapkan komit dari cabang lain. Alih-alih menggunakan merge
untuk menggabungkan perubahan, rebase
memungkinkan Anda insert
melakukan komit baru ke dalam riwayat komit cabang saat ini tanpa membuat komit gabungan.
Misalnya, katakanlah Anda memiliki dua cabang: feature-branch
dan main
. Anda sedang mengerjakan feature-branch
dan ingin menerapkan komit terbaru dari main
ke cabang Anda saat ini. Anda dapat menggunakan rebase untuk mencapai ini:
git checkout feature-branch
git rebase main
Saat Anda menjalankan perintah ini, Git akan mengambil komit dari main
dan menerapkannya ke feature-branch
. Ini berarti bahwa semua komit pada feature-branch
akan muncul setelah komit dari main
. Hasilnya adalah riwayat komit yang lebih bersih dan lebih mudah dibaca di feature-branch
.
Namun, saat menggunakan rebase, penting untuk diperhatikan bahwa perubahan riwayat komit dapat berdampak pada cabang yang dibagikan secara publik. Oleh karena itu, jika Anda telah mendorong komit dari cabang Anda saat ini ke repositori jarak jauh, umumnya disarankan untuk tidak menggunakan rebase pada cabang tersebut untuk menghindari konflik dan riwayat komit yang berantakan.
Branch
Beralih
Perpindahan cabang di Git mengacu pada proses perpindahan dari satu cabang ke cabang lainnya. Saat Anda berpindah cabang, Git memindahkan pointer HEAD ke cabang baru, memungkinkan Anda bekerja di cabang itu dan membuat perubahan tanpa memengaruhi cabang lain.
Misalnya, katakanlah Anda memiliki cabang feature-branch
dan main
. Untuk beralih ke feature-branch
, Anda akan menggunakan perintah berikut:
git checkout feature-branch
Setelah berpindah cabang, Anda dapat membuat perubahan di direktori kerja. Semua commit
, add
, dan checkout
perintah akan diterapkan ke cabang saat ini.
Misalnya, jika Anda menambahkan file baru dan mengkomitnya pada feature-branch
, hanya cabang tersebut yang akan memuat komit, sementara main
tetap tidak terpengaruh. Ini memungkinkan Anda mengembangkan fitur terpisah, memperbaiki bug, atau mengerjakan versi kode yang berbeda secara mandiri. Anda dapat beralih antar cabang kapan pun diperlukan untuk mengerjakan setiap cabang secara terpisah.