Memilih Commit dengan Cherry-pick
Pahami cara menerapkan commit individual secara selektif dari satu branch ke branch lain menggunakan `git cherry-pick`.
Memilih Commit dengan Cherry-pick 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.
Memindahkan Commit Secara Selektif
Bagaimana jika Anda hanya memerlukan satu perubahan tertentu dari sebuah cabang, bukan seluruh cabangnya? git cherry-pick memungkinkan Anda menerapkan satu commit dari mana pun dalam riwayat repositori langsung ke cabang saat ini.
Ini seperti memetik satu buah ceri dari pohon! Perintah ini membuat commit baru di cabang saat ini yang menduplikasi perubahan dari commit asli.
Kapan Menggunakan Cherry-Pick
Bayangkan Anda sedang mengerjakan cabang fitur besar, lalu menemukan bahwa perbaikan bug penting yang Anda buat di sana juga diperlukan sekarang pada cabang produksi utama. Anda belum ingin menggabungkan seluruh cabang fitur tersebut.
Ini adalah situasi yang tepat untuk cherry-pick. Perintah ini membantu memindahkan perubahan yang terisolasi tanpa membawa pekerjaan yang tidak berkaitan.
Perintah Dasar
Perintah dasarnya sederhana: git cherry-pick <commit-hash>.
- Pertama, pastikan Anda berada di cabang tempat commit akan diterapkan.
- Kemudian, Anda memerlukan pengenal unik (hash) dari commit yang ingin dipilih.
- Git kemudian akan membuat commit baru dengan perubahan yang sama di cabang saat ini.
git cherry-pick <commit-hash>Menemukan Hash Commit
Untuk melakukan cherry-pick, Anda memerlukan hash! Anda dapat menemukannya menggunakan git log.
Opsi --oneline sangat membantu untuk menampilkan ringkasan yang singkat:
git log --onelineMenyiapkan Skenario Cherry-Pick
Mari siapkan skenario sederhana. Kita akan membuat cabang main dan cabang feature/login. Kita akan membuat sebuah commit di feature/login yang ingin kita bawa ke main.
Kita ingin membawa commit "HOTFIX" ke main.
git init my_project
cd my_project
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
git branch feature/login
git checkout feature/login
echo "Login feature added" >> login.txt
git add login.txt
git commit -m "Add basic login feature"
echo "Fix: Login button style" >> style.css
git add style.css
git commit -m "HOTFIX: Fix login button styling"Menjalankan Cherry-Pick
Sekarang, beralihlah kembali ke cabang main dan terapkan commit "HOTFIX". Misalkan hash untuk "HOTFIX: Fix login button styling" adalah abcdefg.
Setelah menjalankan perintah ini, commit baru akan muncul di cabang main dengan perubahan yang sama seperti abcdefg. Gunakan git log --oneline untuk melihatnya!
git checkout main
git cherry-pick abcdefgMenangani Konflik Cherry-Pick
Sama seperti penggabungan, cherry-pick dapat menimbulkan konflik jika baris kode yang sama telah diubah secara berbeda dalam kedua riwayat.
- Git akan menjeda operasi dan menandai berkas yang berkonflik.
- Selesaikan konflik dalam berkas secara manual.
- Tambahkan berkas yang telah diselesaikan dengan
git add. - Selesaikan proses dengan
git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continueMemilih Beberapa Commit
Anda dapat melakukan cherry-pick pada lebih dari satu commit sekaligus.
Untuk memilih rentang commit (mulai dari hashA hingga sebelum hashB):
git cherry-pick hashA..hashBKapan Menggunakan (dan Tidak Menggunakan)
Cherry-pick sangat berguna, tetapi gunakan dengan pertimbangan yang matang.
- Cocok untuk: Perbaikan cepat, serta memindahkan perubahan kecil dan terisolasi di antara cabang yang tidak berkaitan.
- Kurang ideal untuk: Mengintegrasikan kumpulan perubahan besar secara rutin, karena dapat menghasilkan commit duplikat dan membuat riwayat lebih sulit diikuti jika tidak dilakukan dengan hati-hati. Untuk integrasi seluruh cabang, lebih baik gunakan penggabungan atau rebase.
Pemeriksaan Singkat: Tujuan Cherry-Pick
Anda memiliki sebuah commit di cabang feature/new-design yang memperbaiki masalah gaya tampilan penting. Anda memerlukan perbaikan ini segera di cabang main, tanpa menggabungkan seluruh cabang fitur.
Rangkuman: Perubahan Terarah
Dalam pelajaran ini, kita mempelajari git cherry-pick, perintah yang berguna untuk menerapkan commit tertentu ke cabang saat ini.
- Perintah ini membuat commit baru dengan perubahan yang sama di cabang tujuan.
- Perintah ini ideal untuk perbaikan cepat atau memindahkan perubahan yang terisolasi.
- Anda memerlukan hash commit, yang biasanya ditemukan dengan
git log --oneline. - Bersiaplah untuk menyelesaikan konflik, sama seperti saat melakukan penggabungan.
Menguasai cherry-pick memberi Anda kendali yang tepat atas riwayat proyek!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memilih Commit dengan Cherry-pick” gratis?
Ya — teks lengkap “Memilih Commit dengan Cherry-pick” 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 “Memilih Commit dengan Cherry-pick”?
Pahami cara menerapkan commit individual secara selektif dari satu branch ke branch lain menggunakan `git cherry-pick`. 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 “Memilih Commit dengan Cherry-pick” 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