Menyelesaikan, mengabaikan, atau mengembalikan permintaan pull
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Setelah semua peninjau yang diperlukan menyetujui permintaan pull (PR) Anda dan PR memenuhi semua persyaratan kebijakan cabang, Anda dapat menggabungkan perubahan Anda ke cabang target dan menyelesaikan PR. Atau jika Anda memutuskan untuk tidak melanjutkan perubahan dalam PR, Anda dapat meninggalkan PR.
Untuk mengatasi perubahan peninjau, dan menanggapi dan mengatasi komentar tinjauan, lihat Komentar alamat.
Prasyarat
Repositori harus diaktifkan pada proyek Anda. Jika hub Repos dan halaman terkait tidak ditampilkan, lihat Mengaktifkan atau menonaktifkan layanan Azure DevOps untuk mengaktifkan kembali Repositori.
Untuk menyelesaikan PR, Anda harus menjadi anggota grup keamanan Kontributor , atau memiliki izin yang sesuai, dalam proyek tempat PR berada.
Untuk berkontribusi pada PR, Anda harus menjadi anggota grup keamanan Pembaca atau memiliki izin yang sesuai.
Untuk melihat atau meninjau PR, Anda harus memiliki akses Dasar atau lebih tinggi ke proyek Azure DevOps.
Jika Anda bukan anggota proyek yang ingin Anda kontribusikan, tambahkan.
Catatan
Untuk proyek publik, pengguna yang diberikan akses Pemangku Kepentingan memiliki akses penuh ke Azure Repos.
- Repositori harus diaktifkan pada proyek Anda. Jika hub Repos dan halaman terkait tidak ditampilkan, lihat Mengaktifkan atau menonaktifkan layanan Azure DevOps untuk mengaktifkan kembali Repositori.
- Untuk menyelesaikan PR, Anda harus menjadi anggota grup keamanan Kontributor , atau memiliki izin yang sesuai, dalam proyek yang ingin Anda ubah.
- Untuk berkontribusi pada PR, Anda harus menjadi anggota grup keamanan Pembaca atau memiliki izin yang sesuai.
- Untuk melihat atau meninjau PR, Anda harus menjadi anggota proyek Azure DevOps dengan akses Dasar atau yang lebih tinggi. Jika Anda bukan anggota proyek, tambahkan.
- Untuk informasi selengkapnya tentang izin dan akses, lihat Repositori Git default dan izin cabang dan Tentang tingkat akses.
- Di Azure DevOps Services, Anda dapat mengelola PR dan sumber daya lain dari antarmuka baris perintah (CLI) Azure dengan
azure-devops
ekstensi. Untuk mempelajari cara bekerja dengan Azure DevOps Services CLI, lihat Mulai menggunakan Azure DevOps CLI. Perintah Azure Repos CLI untuk PR menggunakan az repos pr.
Periksa perubahan penggabungan
Saat Anda menyelesaikan PR, Git menambahkan penerapan penggabungan baru ke akhir cabang utama. Penerapan penggabungan ini menghubungkan riwayat sebelumnya dari cabang utama dan cabang sumber PR. Untuk melihat penerapan gabungan pratinjau dan memeriksa konflik penggabungan, pilih menu Opsi lainnya di kanan atas pada halaman Gambaran Umum PR, lalu pilih Tampilkan perubahan penggabungan.
Jika Anda mengubah cabang target setelah membuat PR, pilih Mulai ulang penggabungan untuk membuat penerapan gabungan pratinjau baru dan memperbarui tampilan diff perubahan penggabungan.
Meninjau kebijakan cabang
Teams dapat mengatur kebijakan cabang yang mengharuskan PR di cabang yang dilindungi untuk memenuhi kriteria tertentu sebelum PR dapat bergabung. Anda dapat melihat kebijakan cabang yang berlaku untuk PR Anda, apakah kebijakan tersebut diperlukan untuk penggabungan, dan apakah PR melewati atau gagal.
Tab Gambaran Umum PR meringkas kebijakan cabang yang melewati atau gagal untuk PR. Gambaran umum hanya mencantumkan kebijakan yang gagal, tetapi Anda dapat melihat semua pemeriksaan kebijakan dengan memilih Lihat <n> pemeriksaan.
Pada halaman Gambaran Umum PR, persyaratan kebijakan cabang memiliki ikon. Pilih Opsi lainnya di samping persyaratan lalu pilih Tampilkan kebijakan untuk masuk ke halaman Kebijakan Cabang cabang di Pengaturan Proyek.
Menyelesaikan permintaan pull
Setelah Anda menyelesaikan konflik penggabungan apa pun, dan PR memenuhi semua kebijakan cabang dan memiliki semua persetujuan yang diperlukan, Anda dapat menyelesaikan PR.
Pilih Selesai di kanan atas untuk menyelesaikan PR. Atau pilih panah dropdown di samping tombol Selesai , dan pilih salah satu opsi.
- Selesai: Selesaikan PR sekarang, dan gabungkan perubahan ke cabang target.
- Atur lengkapi otomatis: Konfigurasikan PR untuk menyelesaikan dan menggabungkan setelah memenuhi semua kebijakan cabang yang diperlukan.
- Tandai sebagai draf: Mengembalikan PR ke status draf dan menghapus semua suara.
- Abaikan: Tutup PR tanpa menggabungkan perubahan.
Di panel Selesaikan permintaan pull, di bawah Jenis penggabungan, pilih salah satu opsi penggabungan.
- Gabungkan (tidak ada penerusan cepat): Gabungkan dengan riwayat non-linier yang mempertahankan semua penerapan.
- Penerapan squash: Gabungkan dengan riwayat linier yang menggabungkan semua penerapan sumber menjadi satu penerapan pada target, atau squash menggabungkan PR. Ketahuilah bahwa penerapan baru akan dibuat untuk cabang target tanpa menyimpan riwayat penerapan dari cabang sumber.
- Rebase dan fast-forward: Rebase sumber berkomitmen ke target dan maju cepat.
- Penggabungan semi-linier: Sumber rebase diterapkan ke target dan buat gabungan dua induk.
Catatan
Kebijakan yang ada diberlakukan. Misalnya, jika cabang Anda saat ini memiliki kebijakan "penggabungan squash saja", Anda harus mengubah kebijakan tersebut jika Anda ingin menggunakan jenis penggabungan lain.
Pilih salah satu opsi pasca-penyelesaian berikut. Beberapa opsi tidak tersedia untuk beberapa jenis penggabungan.
- Selesaikan item kerja terkait setelah penggabungan: Selesaikan item kerja tertaut apa pun.
- Hapus <nama> cabang setelah penggabungan: Hapus cabang sumber PR setelah penggabungan.
- Kustomisasi pesan penerapan penggabungan: Tambahkan pesan penerapan penggabungan kustom. Jika Anda memilih opsi ini, perbarui pesan penerapan penggabungan.
- Ambil alih kebijakan cabang dan aktifkan penggabungan. Paksa penggabungan meskipun PR tidak memenuhi semua kebijakan cabang. Opsi ini hanya tersedia jika Anda memiliki Izin pemberlakuan kebijakan dikecualikan.
Pilih Selesaikan penggabungan.
Pilih Selesai di kanan atas untuk menyelesaikan PR. Atau, pilih panah dropdown di samping tombol Selesai , dan pilih salah satu opsi berikut ini:
- Selesai: Selesaikan PR sekarang, dan gabungkan perubahan ke cabang target.
- Atur lengkapi otomatis: Jika Anda memiliki kebijakan cabang, konfigurasikan PR untuk menyelesaikan dan menggabungkan setelah memenuhi semua kebijakan cabang yang diperlukan.
- Abaikan: Tutup PR tanpa menggabungkan perubahan.
Pada layar Selesaikan permintaan pull, masukkan pesan untuk penerapan penggabungan dan perbarui deskripsi PR.
Pilih salah satu opsi berikut:
Selesaikan item kerja tertaut setelah menggabungkan untuk menyelesaikan item kerja tertaut apa pun.
Hapus
<branch name>
setelah menggabungkan untuk menghapus cabang sumber dari PR.Perubahan squash saat menggabungkan ke squash menggabungkan PR Anda. Ketahuilah bahwa penerapan baru akan dibuat untuk cabang target tanpa menyimpan riwayat penerapan dari cabang sumber.
Ambil alih kebijakan cabang dan aktifkan penggabungan untuk memaksa cabang bergabung meskipun tidak memenuhi semua kebijakan cabang. Opsi ini hanya tersedia jika Anda memiliki Izin pemberlakuan kebijakan dikecualikan.
Catatan
Kebijakan yang ada masih diberlakukan. Misalnya, jika cabang Anda saat ini memiliki kebijakan "penggabungan squash saja", Anda harus mengedit kebijakan tersebut untuk menggunakan jenis penggabungan lainnya.
Pilih Selesaikan penggabungan.
Saat Anda menyelesaikan penggabungan, setiap item kerja tertaut secara otomatis diperbarui untuk menampilkan penyelesaian PR.
Rebase selama penyelesaian PR
Ada beberapa situasi saat rebasing selama penyelesaian PR tidak dimungkinkan:
- Jika kebijakan pada cabang target melarang penggunaan strategi rebase, Anda memerlukan izin Ambil alih kebijakan cabang untuk melakukan rebase.
- Jika cabang sumber PR memiliki kebijakan, Anda tidak dapat melakukan rebase. Rebasing akan mengubah cabang sumber tanpa melalui proses persetujuan kebijakan.
- Jika Anda menggunakan Merge Conflict Extension untuk mengatasi konflik penggabungan, Anda tidak dapat melakukan rebase. Resolusi konflik yang diterapkan pada penggabungan tiga arah jarang berhasil atau valid saat merebas semua penerapan PR satu per satu.
Dalam semua kasus ini, Anda masih dapat merebase cabang Anda secara lokal dan kemudian mendorong upstream, atau squash-merge perubahan Anda ketika Anda menyelesaikan PR.
Beberapa masalah dasar dalam penggabungan
Dalam beberapa kasus, PR memiliki lebih dari satu basis penggabungan sejati, dan situasi ini dapat menyebabkan masalah keamanan. Jika file dalam permintaan pull memiliki versi yang berbeda antar basis penggabungan, beberapa peringatan basis penggabungan akan terjadi. Untuk informasi selengkapnya dan remediasi, lihat Beberapa basis penggabungan.
Mengatasi konflik terkait penggabungan
Perubahan file di cabang Anda dapat bertentangan dengan perubahan di cabang lain. Saat tidak jelas cara menggabungkan perubahan, Git menunjukkan file yang bertentangan di halaman Gambaran Umum PR. Anda harus mengatasi konflik penggabungan antara cabang PR dan cabang target sebelum Anda dapat menggabungkan PR atau mengatur PR untuk lengkapi otomatis. Untuk instruksi tentang mengatasi konflik penggabungan, lihat Mengatasi konflik penggabungan.
Mengatur permintaan pull ke pelengkapan otomatis
Pilih Atur lengkapi otomatis dari daftar dropdown Lengkap untuk menyelesaikan dan menggabungkan perubahan PR segera setelah kondisi memenuhi semua kebijakan cabang. Setelah PR selesai, Anda menerima pemberitahuan email. Jika konflik atau kesalahan mencegah penyelesaian PR, email akan memberi tahu Anda tentang masalah tersebut.
Catatan
Opsi Atur lengkapi otomatis tersedia di Azure Repos dan TFS 2017 dan yang lebih tinggi saat Anda memiliki kebijakan cabang. Jika Anda tidak melihat Atur penyelesaian otomatis, Anda tidak memiliki kebijakan cabang apa pun. Untuk informasi selengkapnya, lihat Kebijakan cabang.
Secara default, PR yang diatur ke lengkapi otomatis hanya menunggu pada kebijakan yang diperlukan. Di panel Aktifkan penyelesaian otomatis, Anda juga dapat memilih untuk menunggu kebijakan opsional.
Dimulai dengan TFS 2018 Update 2, halaman Gambaran Umum PR menampilkan daftar kriteria kebijakan yang luar biasa yang dinanti PR. Jika Anda mengatur kebijakan yang akan diperlukan di panel Aktifkan penyelesaian otomatis, Anda dapat mengaturnya kembali ke opsional di halaman Gambaran Umum .
Pilih Batalkan penyelesaian otomatis untuk menonaktifkan pelengkapan otomatis.
PR yang diatur ke lengkapi otomatis menampilkan lencana Lengkapi otomatis pada halaman Permintaan pull.
Mengabaikan atau mengaktifkan kembali permintaan pull
Untuk mengabaikan perubahan dan PR Anda tanpa penggabungan, pilih Abaikan dari daftar dropdown pada tombol Selesai . Anda masih dapat melihat PR yang ditinggalkan, dan tetap ditautkan ke item kerja.
Untuk mengaktifkan kembali PR yang ditinggalkan kapan saja, buka PR dari tab Diabaikan di tampilan Permintaan Pull, dan pilih Aktifkan kembali di kanan atas.
Mengembalikan permintaan pull yang telah selesai
Untuk membatalkan perubahan dari PR, ikuti langkah-langkah ini. Untuk informasi selengkapnya, lihat Membatalkan perubahan.
Buka PR yang telah selesai dan pilih Kembalikan. Tindakan ini membuat cabang baru dengan perubahan yang membatalkan PR di cabang target yang ada di repositori Anda.
Di panel Kembalikan permintaan pull:
- Di bawah Cabang target, pilih cabang tempat Anda ingin membatalkan perubahan PR.
- Di bawah Nama cabang topik diperlukan, ubah kembalikan nama cabang PR jika Anda mau.
- Pilih Kembalikan.
Pada layar Permintaan pull baru, pilih Buat.
Gabungkan PR baru untuk menyelesaikan kembali.
Catatan
Cabang yang dibuat selama kembali ini memiliki satu penerapan yang mengembalikan semua perubahan file dari PR asli. Cabang tidak berisi penerapan yang dikembalikan untuk setiap penerapan dalam PR asli.