Memilih Komit
Fahami cara menggunakan komit tertentu daripada satu cabang pada cabang lain secara terpilih menggunakan `git cherry-pick`.
Memilih Komit ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Memindahkan Serahan Secara Terpilih
Bagaimana jika anda hanya memerlukan satu perubahan tertentu daripada sebuah cabang, bukan keseluruhan cabang? git cherry-pick membolehkan anda menggunakan satu serahan daripada mana-mana bahagian sejarah repositori anda terus pada cabang semasa.
Ia seperti memetik sebiji ceri daripada pokok! Tindakan ini menghasilkan serahan baharu sepenuhnya pada cabang semasa anda yang menggandakan perubahan daripada serahan asal.
Bila Hendak Menggunakan Cherry-Pick
Bayangkan anda sedang mengusahakan cabang ciri yang besar, lalu mendapati pembaikan pepijat penting yang anda buat di situ juga diperlukan pada cabang pengeluaran utama anda sekarang. Anda belum mahu mencantumkan keseluruhan cabang ciri itu.
Inilah keadaan yang sesuai untuk cherry-pick. Perintah ini membantu anda memindahkan perubahan terpencil tanpa membawa masuk kerja yang tidak berkaitan.
Perintah Asas
Perintah asasnya mudah: git cherry-pick <commit-hash>.
- Mula-mula, pastikan anda berada pada cabang tempat anda mahu menggunakan serahan itu.
- Kemudian, anda memerlukan pengecam unik (hash) bagi serahan yang mahu dipilih.
- Git kemudiannya akan mencipta serahan baharu dengan perubahan yang sama pada cabang semasa anda.
git cherry-pick <commit-hash>Mencari Hash Serahan
Untuk melakukan cherry-pick, anda memerlukan hash! Anda boleh mencarinya menggunakan git log.
Pilihan --oneline sangat membantu untuk paparan yang ringkas:
git log --onelinePersediaan Senario Cherry-Pick
Mari kita sediakan satu senario mudah. Kita akan mencipta cabang main dan cabang feature/login. Kita akan membuat serahan pada feature/login yang mahu dibawa ke main.
Kita mahu membawa serahan "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"Melaksanakan Cherry-Pick
Sekarang, kembali ke cabang main dan gunakan serahan "HOTFIX". Andaikan hash bagi "HOTFIX: Fix login button styling" ialah abcdefg.
Selepas menjalankan perintah ini, serahan baharu akan muncul pada cabang main anda dengan perubahan yang sama seperti abcdefg. Gunakan git log --oneline untuk melihatnya!
git checkout main
git cherry-pick abcdefgMengendalikan Konflik Cherry-Pick
Sama seperti pencantuman, cherry-pick boleh menyebabkan konflik jika baris kod yang sama telah diubah secara berbeza dalam kedua-dua sejarah.
- Git akan menjeda operasi dan menandakan fail yang berkonflik.
- Selesaikan konflik dalam fail secara manual.
- Jalankan
git addterhadap fail yang telah diselesaikan. - Lengkapkan proses dengan
git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continueMemilih Berbilang Serahan
Anda boleh melakukan cherry-pick terhadap lebih daripada satu serahan pada satu-satu masa.
Untuk memilih julat serahan (daripada hashA hingga, tetapi tidak termasuk, hashB):
git cherry-pick hashA..hashBBila Hendak Menggunakan (dan Tidak Menggunakannya)
Cherry-pick sangat berkuasa, tetapi gunakannya dengan teliti.
- Sesuai untuk: Pembaikan segera, serta pemindahan perubahan kecil dan terpencil antara cabang yang tidak berkaitan.
- Kurang sesuai untuk: Mengintegrasikan set perubahan besar secara berkala kerana tindakan ini boleh menghasilkan serahan pendua dan menyukarkan sejarah untuk diikuti jika tidak dilakukan dengan berhati-hati. Gunakan pencantuman atau rebase untuk integrasi keseluruhan cabang.
Semakan Pantas: Tujuan Cherry-Pick
Anda mempunyai serahan pada cabang feature/new-design yang membaiki isu penggayaan kritikal. Anda memerlukan pembaikan ini pada cabang main dengan segera, tanpa mencantumkan keseluruhan cabang ciri.
Ulang Kaji: Perubahan Bersasar
Dalam pelajaran ini, kita mempelajari git cherry-pick, iaitu perintah berguna untuk menggunakan serahan tertentu pada cabang semasa anda.
- Perintah ini mencipta serahan baharu dengan perubahan yang sama pada cabang sasaran anda.
- Perintah ini sesuai untuk pembaikan segera atau pemindahan perubahan terpencil.
- Anda memerlukan hash serahan, yang biasanya boleh ditemukan dengan
git log --oneline. - Bersedialah untuk menyelesaikan konflik, sama seperti ketika melakukan pencantuman.
Menguasai cherry-pick memberikan anda kawalan tepat terhadap sejarah projek anda!
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Memilih Komit” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Memilih Komit”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memilih Komit”?
Fahami cara menggunakan komit tertentu daripada satu cabang pada cabang lain secara terpilih menggunakan `git cherry-pick`. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Memilih Komit” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Penyelesaian Konflik Penggabungan Manual
- Rebase Interaktif untuk Sejarah
- Memilih Komit
- Menggunakan Git Rerere untuk Menggunakan Semula Penyelesaian Konflik