Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git cherry-pick menyalin perubahan dari satu atau beberapa commit cabang sumber ke cabang target. Tidak seperti penggabungan atau rebase, cherry-pick memungkinkan Anda memilih penerapan cabang sumber tertentu. Untuk setiap penerapan cabang sumber yang Anda pilih, Git membuat penerapan yang sesuai pada cabang target.
Anda dapat memilih tugas-tugas tertentu untuk mengatasi tugas-tugas umum ini.
- Sebarkan fitur tertentu dari satu cabang ke cabang lainnya.
- Salin pekerjaan yang Anda lakukan di cabang yang salah.
- Terapkan perbaikan bug pada beberapa cabang.
Untuk gambaran umum alur kerja Git, lihat tutorial Azure Repos Git.
Prasyarat
Kategori |
Persyaratan |
Akses proyek |
Anggota proyek . |
Izin |
- Lihat kode dalam proyek pribadi: Setidaknya akses Dasar . - Mengkloning atau berkontribusi pada kode dalam proyek privat: Anggota grup keamanan Kontributor atau izin-izin yang sesuai di dalam proyek. - Atur izin cabang atau repositori: Kelola izin untuk cabang atau repositori. - Ubah cabang default: Edit kebijakan dan izin untuk repositori. - Impor repositori: Anggota Administrator Proyek grup keamanan atau tingkat proyek Git Buat repositori dengan izin diatur ke Izinkan. Untuk informasi selengkapnya, lihat Mengatur izin repositori Git. |
Layanan |
Repos diaktifkan. |
Alat |
Fakultatif. Gunakan perintah az repos: Azure DevOps CLI. |
Nota
Dalam proyek publik, pengguna dengan akses Stakeholder memiliki akses penuh ke Azure Repos, termasuk melihat, menyalin, dan berkontribusi pada kode.
Kategori |
Persyaratan |
Akses proyek |
Anggota proyek . |
Izin |
- Lihat kode: Setidaknya akses Dasar. - Mengkloning atau berkontribusi pada kode: Anggota kelompok keamanan Kontributor atau memiliki izin yang sesuai di dalam proyek. |
Layanan |
Repos diaktifkan. |
Cherry-pick penerapan
Azure Repos
Azure Repos memberikan dukungan terbatas untuk pemilihan ceri, dan hanya untuk tujuan membuat permintaan pull untuk menerapkan perbaikan pada cabang target. Untuk informasi selengkapnya, lihat Meningkatkan pemilihan perubahan di Azure DevOps.
Opsi Cherry-pick di menu pull request di Azure Repos menjalankan fungsi berikut:
- Membuat cabang topik baru dari cabang target pull request.
- Cherry-memilih semua perubahan dari cabang sumber permintaan pull ke cabang topik baru.
- Meminta Anda untuk membuat permintaan pull baru untuk menggabungkan cabang topik baru ke cabang target lain.
Untuk tutorial langkah demi langkah, lihat Membuat permintaan pull baru dengan cherry-pick.
GitHub
Antarmuka web GitHub tidak mendukung cherry-pick, tetapi GitHub Desktop mendukungnya. Untuk panduan langkah demi langkah tentang cara cherry-pick di GitHub Desktop, lihat Cherry-picking a commit.
Visual Studio 2022 menyediakan pengalaman kontrol versi Git dengan menggunakan menu Git, Perubahan Git, dan melalui menu konteks di Penjelajah Solusi. Visual Studio 2019 versi 16.8 juga menawarkan antarmuka pengguna Team Explorer Git. Untuk informasi selengkapnya, lihat tab Visual Studio 2019 - Team Explorer .
Pilih Git > Kelola Cabang untuk membuka jendela Repositori Git.
Di jendela Repositori Git, klik kanan cabang target dan pilih Checkout.
Dalam tampilan Cabang, klik kanan cabang sumber dan pilih Tampilkan Riwayat untuk membuka tab Terapkan Riwayat.
Di tab Riwayat, klik kanan komit yang ingin Anda cherry-pick dan pilih Cherry-Pick. Visual Studio tidak mendukung cherry-pick lebih dari satu commit sekaligus, jadi Anda harus mengulangi langkah ini untuk setiap commit yang ingin Anda cherry-pick.
Visual Studio membuat commit cabang target baru yang berisi perubahan dari commit cherry-picked. Jika operasi pemilihan ceri tidak berhasil diselesaikan, Visual Studio akan memberi tahu Anda.
Visual Studio 2019 versi 16.8 dan versi yang lebih baru memberikan pengalaman kontrol versi Git sambil mempertahankan antarmuka pengguna Team Explorer Git. Untuk menggunakan Team Explorer, hapus centang Alat>Opsi>Pratinjau Fitur>Pengalaman Pengguna Git Baru dari bilah menu. Anda dapat menggunakan fitur Git dari salah satu antarmuka secara bergantian.
Di Team Explorer, pilih tombol Beranda dan pilih Cabang.
Dalam tampilan cabang, klik kanan cabang target dan pilih Checkout.
Dalam tampilan Cabang, klik kanan cabang sumber dan pilih Tampilkan Riwayat untuk membuka tab Terapkan Riwayat.
Di tab Riwayat , klik kanan penerapan yang ingin Anda pilih ceri dan pilih Cherry-Pick. Visual Studio tidak mendukung cherry-picking lebih dari satu commit dalam satu waktu, jadi Anda harus mengulangi langkah ini untuk setiap commit yang ingin Anda cherry-pick.
Visual Studio membuat commit cabang target baru yang berisi perubahan dari commit yang dipilih secara selektif. Jika operasi pemilihan ceri tidak berhasil diselesaikan, Visual Studio akan memberi tahu Anda.
git log
Gunakan perintah untuk mencantumkan penerapan cabang sumber.
--oneline
Flag menyingkat informasi commit.
git log --oneline <source branch>
Git mencantumkan penerapan terbaru terlebih dahulu. Setiap ID penerapan adalah hash SHA-1 parsial yang secara unik mengidentifikasi penerapan. Contohnya:
e745d06 (HEAD -> add-network-controller) Add a test initialization class
a89f48e (origin/add-network-controller) Add fiber optic transceiver test
31da50b Add network switch test
e74baa2 (origin/main, origin/HEAD, test-fiber-optic-transmitter, main) Add readme content
0c14391 Add readme file
32e3946 Add project files.
Catat ID commit yang ingin Anda cherry-pick.
Gunakan cabang target, jika belum digunakan.
git checkout <target branch>
Terapkan, simpan, atau buang perubahan yang tidak diterapkan.
Untuk memilih satu commit:
git cherry-pick <commit ID>
Untuk memilih beberapa commit, pisahkan ID commit dengan spasi. Commit akan diterapkan sesuai dengan urutan yang Anda masukkan.
git cherry-pick <commit1 ID> <commit2 ID> <commit3 ID>
Untuk memilih rentang commit inklusif, gunakan ^..
notasi dot-range:
git cherry-pick <oldest-commit ID>^..<newest-commit ID>
Saat Anda memilih beberapa penerapan, perintah cherry-pick default membuat urutan penerapan cabang target baru yang sesuai. Untuk memberi tahu Git untuk mentahapkan dan tidak menerapkan perubahan cabang target, gunakan -n
bendera:
git cherry-pick -n <commit1 ID> <commit2 ID>
Kemudian, Anda dapat membuat satu commit secara manual yang mencakup semua perubahan dari operasi cherry-pick.
Git akan memberi tahu Anda jika ada konflik penggabungan selama operasi pemilihan ceri. Anda dapat mengatasi konflik lalu menjalankan git cherry-pick --continue
, atau menjalankan git cherry-pick --abort
untuk membatalkan operasi pemilihan ceri.
Langkah berikutnya
Artikel terkait