Rebase vs. Merge
Bandingkan rebase dan merge, serta pelajari kapan masing-masing digunakan untuk menghasilkan riwayat yang bersih dan linear.
Rebase vs. Merge adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 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.
Menggabungkan atau Mendasarkan Ulang? Pilihannya
Saat bekerja dengan Git, sering kali Anda mendapati cabang Anda menyimpang dari cabang lain, misalnya cabang feature dari main.
Bagaimana cara menyatukan perubahan tersebut? Git menyediakan dua strategi utama: penggabungan dan pemasangan ulang dasar. Keduanya mencapai integrasi, tetapi dengan cara yang sangat berbeda sehingga menghasilkan riwayat proyek yang berbeda.
Penggabungan: Menyatukan Riwayat
Penggabungan adalah cara bawaan Git untuk mengintegrasikan perubahan. Saat Anda menggabungkan satu cabang ke cabang lain, Git mengambil isi cabang sumber lalu menggabungkannya dengan cabang tujuan.
Ciri utama penggabungan adalah dibuatnya penerapan penggabungan baru. Penerapan ini memiliki dua penerapan induk, yang secara jelas menunjukkan bahwa dua riwayat yang menyimpang telah disatukan. Riwayat kedua cabang tetap dipertahankan secara utuh.
Melakukan Penggabungan Git
Mari kita lihat contoh penggabungan sederhana. Kita akan membuat cabang feature, menambahkan penerapan perubahan, lalu menggabungkannya kembali ke main.
git init my_merge_project
cd my_merge_project
echo "Initial content" > file.txt
git add .
git commit -m "Initial commit"
git branch feature
git checkout feature
echo "Feature A" >> feature.txt
git add .
git commit -m "Add feature A"
git checkout main
echo "Main update" >> main.txt
git add .
git commit -m "Update main"
git merge feature
git log --oneline --graphPenggabungan: Kelebihan dan Kekurangan
Penggabungan mudah dilakukan dan aman untuk cabang bersama, tetapi dapat menghasilkan riwayat yang 'berantakan'.
- Kelebihan:
- Mempertahankan riwayat penerapan secara utuh.
- Tidak merusak dan tidak menulis ulang penerapan yang sudah ada.
- Mudah digunakan dan dipahami.
- Kekurangan:
- Dapat membuat riwayat 'ramai' dengan banyak penerapan penggabungan.
- Grafik dapat terlihat rumit karena banyak cabang digabungkan.
Pemasangan Ulang Dasar: Menulis Ulang Riwayat
Pemasangan ulang dasar adalah alternatif terhadap penggabungan yang mengintegrasikan perubahan dengan memindahkan atau menggabungkan rangkaian penerapan ke penerapan dasar yang baru. Alih-alih membuat penerapan penggabungan, cara ini menulis ulang riwayat proyek.
Pada dasarnya, penerapan di cabang fitur Anda 'diputar ulang' di atas penerapan terbaru cabang tujuan, sehingga seolah-olah Anda memulai pekerjaan dari sana. Hasilnya adalah riwayat linear tanpa penerapan penggabungan tambahan.
Melakukan Pemasangan Ulang Dasar Git
Sekarang, mari coba skenario yang sama dengan pemasangan ulang dasar. Kita akan memasang ulang dasar cabang feature di atas main.
Perhatikan bahwa penerapan pada cabang feature diterapkan kembali di atas penerapan terbaru main, lalu penggabungan maju cepat membuat main menunjuk ke penerapan tersebut.
git init my_rebase_project
cd my_rebase_project
echo "Initial content" > file.txt
git add .
git commit -m "Initial commit"
git branch feature
git checkout feature
echo "Feature B" >> feature.txt
git add .
git commit -m "Add feature B"
git checkout main
echo "Main update 2" >> main.txt
git add .
git commit -m "Update main 2"
git checkout feature
git rebase main
git checkout main
git merge feature
git log --oneline --graphPemasangan Ulang Dasar: Kelebihan dan Kekurangan
Pemasangan ulang dasar menghasilkan riwayat yang rapi, tetapi disertai peringatan penting terkait cabang bersama.
- Kelebihan:
- Menghasilkan riwayat proyek yang rapi dan linear.
- Riwayat penerapan lebih mudah ditelusuri dan dipahami.
- Dapat merapikan (menggabungkan, mengurutkan ulang) penerapan sebelum integrasi.
- Kekurangan:
- Menulis ulang riwayat penerapan.
- Dapat berbahaya jika digunakan pada penerapan yang sudah didorong ke repositori jarak jauh bersama (publik).
Penggabungan vs. Pemasangan Ulang Dasar: Perbandingan
Berikut ringkasan singkat perbedaan utamanya:
- Penggabungan:
- Membuat penerapan penggabungan baru.
- Mempertahankan riwayat lengkap secara utuh.
- Tidak merusak.
- Grafik dapat menjadi rumit.
- Pemasangan ulang dasar:
- Menulis ulang riwayat tanpa penerapan penggabungan.
- Menghasilkan riwayat linear.
- Merusak (mengubah ID penerapan).
- Grafiknya sangat rapi.
Memilih Strategi Anda
Jadi, kapan Anda sebaiknya menggunakan masing-masing cara?
- Gunakan Penggabungan jika:
- Bekerja pada cabang publik atau bersama (misalnya,
main,develop). - Anda perlu mempertahankan riwayat proyek secara utuh.
- Anda ingin menunjukkan secara jelas kapan riwayat yang menyimpang disatukan.
- Gunakan Pemasangan Ulang Dasar jika:
- Bekerja pada cabang fitur pribadi sebelum mendorongnya.
- Anda menginginkan riwayat yang rapi dan linear.
- Anda ingin merapikan penerapan di cabang fitur (misalnya, menggabungkan atau mengurutkannya ulang) sebelum integrasi.
Aturan Emas: Jangan pernah memasang ulang dasar penerapan yang sudah didorong ke repositori jarak jauh bersama! Menulis ulang riwayat bersama dapat menimbulkan masalah besar bagi kolaborator.
Pemeriksaan Singkat: Penggabungan atau Pemasangan Ulang Dasar?
Perhatikan karakteristik dua strategi integrasi utama Git.
Ringkasan: Penggabungan vs. Pemasangan Ulang Dasar
Dalam pelajaran ini, kita mempelajari dua cara utama Git untuk mengintegrasikan perubahan: penggabungan dan pemasangan ulang dasar.
- Penggabungan menyatukan riwayat dengan penerapan penggabungan baru dan mempertahankan semua penerapan asli.
- Pemasangan ulang dasar menulis ulang riwayat dan membuat alur linear dengan memindahkan penerapan.
Pilihlah dengan bijak berdasarkan alur kerja tim Anda dan ingat aturan emas: jangan pernah memasang ulang dasar riwayat publik! Pemahaman ini sangat penting untuk menjaga alur kerja Git yang rapi dan kolaboratif.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Rebase vs. Merge” gratis?
Ya — teks lengkap “Rebase vs. Merge” 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 vs. Merge”?
Bandingkan rebase dan merge, serta pelajari kapan masing-masing digunakan untuk menghasilkan riwayat yang bersih dan linear. 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 3 dari 4.
Berapa lama pelajaran “Rebase vs. Merge” 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.