Tentang permintaan pull
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Permintaan pull (PR) adalah cara untuk mengubah, meninjau, dan menggabungkan kode di repositori Git di Azure Repos. PR dapat berasal dari cabang dalam repositori yang sama atau dari cabang di fork repositori. Teams menggunakan PR untuk meninjau kode dan memberikan umpan balik tentang perubahan sebelum menggabungkan kode ke cabang utama. Peninjau dapat menelusuri perubahan yang diusulkan, meninggalkan komentar, dan memilih untuk menyetujui atau menolak kode.
Artikel ini menjelaskan panduan permintaan pull dan pertimbangan manajemen. Untuk petunjuk tentang cara membuat, melihat, meninjau, dan menyelesaikan permintaan pull, lihat artikel berikut ini:
- Membuat permintaan pull
- Melihat dan membuka permintaan pull
- Meninjau permintaan pull
- Menyelesaikan permintaan pull
Catatan
Untuk alasan performa dan stabilitas, jumlah peninjau yang dapat ditambahkan ke permintaan pull harus 1000 atau kurang. Permintaan pull baru tidak akan dibuat saat menambahkan lebih dari 1000 peninjau, dan permintaan pull yang ada tidak akan memungkinkan Anda untuk menambahkan lebih dari 1000 peninjau.
Izin dan 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 melihat atau meninjau PR, Anda harus menjadi anggota proyek Azure DevOps dengan akses Dasar atau yang lebih tinggi.
- Jika Anda tidak memiliki proyek, buat proyek atau daftar secara gratis.
- Jika Anda bukan anggota proyek, tambahkan.
Untuk berkontribusi pada PR, Anda harus menjadi anggota grup keamanan Pembaca atau memiliki izin yang sesuai.
Untuk membuat dan menyelesaikan PR, Anda harus menjadi anggota grup keamanan Kontributor atau memiliki izin yang sesuai.
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 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 berkontribusi pada PR, Anda harus menjadi anggota grup keamanan Pembaca atau memiliki izin yang sesuai.
- Untuk membuat dan menyelesaikan PR, Anda harus menjadi anggota grup keamanan Kontributor atau memiliki izin yang sesuai.
Untuk informasi selengkapnya tentang izin dan akses, lihat Repositori Git default dan izin cabang dan Tentang tingkat akses.
Umpan balik kualitas untuk permintaan pull
Ulasan berkualitas tinggi dimulai dengan umpan balik berkualitas tinggi. Berikut adalah beberapa kunci untuk umpan balik PR yang bagus:
- Pemilik PR harus memiliki orang yang tepat meninjau PR, dan memastikan bahwa peninjau tahu apa yang dilakukan kode.
- Peninjau harus memberikan umpan balik yang dapat ditindakkan dan konstruktif.
- Pemilik dan peninjau harus berkomentar dan membalas dengan cepat.
Pemilik PR harus:
- Pastikan untuk memilih peninjau yang tepat untuk ditetapkan ke PR.
- Sertakan peninjau yang mengetahui cara kerja kode.
- Minta pengembang yang bekerja di area lain untuk berbagi ide mereka.
- Berikan deskripsi yang jelas tentang perubahan.
- Berikan panduan peninjau dengan templat permintaan pull.
- Berikan build kode dengan perbaikan atau fitur yang berjalan di dalamnya.
- Balas komentar, terima saran atau jelaskan mengapa perubahan yang disarankan tidak ideal.
- Untuk saran yang baik di luar lingkup PR, buat item kerja, cabang, dan PR baru untuk membuat perubahan tersebut.
Peninjau harus melakukan tugas berikut.
- Memberikan umpan balik tentang perubahan yang tidak mereka setujui
- Mengidentifikasi masalah dan memberikan saran khusus tentang apa yang harus dilakukan secara berbeda
- Pastikan umpan balik memiliki niat yang jelas dan mudah dipahami
- Tinggalkan komentar atau pilih pada perubahan
Untuk informasi selengkapnya, lihat Mendapatkan umpan balik dengan permintaan pull Git.
Kebijakan cabang dan permintaan pull
Tim Anda mungkin mengandalkan cabang penting di repositori Anda, seperti main
cabang, untuk selalu dalam kondisi yang baik. Anda dapat mengatur kebijakan cabang untuk mewajibkan PR untuk setiap perubahan pada cabang yang dilindungi ini, dan menolak perubahan apa pun yang didorong langsung ke cabang.
Anda dapat menambahkan lebih banyak kebijakan ke PR untuk memberlakukan kualitas kode yang lebih baik di cabang utama. Persyaratan tambahan seperti build bersih dari kode yang diusulkan atau persetujuan dari beberapa peninjau dapat membantu melindungi cabang utama.
Anda dapat mengatur jumlah persetujuan yang diperlukan untuk PR dalam kebijakan cabang. Anda juga dapat mengatur peninjau tertentu agar diperlukan atau opsional pada semua RS atau tertentu. PR dapat diatur untuk melengkapi otomatis dengan jumlah persetujuan yang diperlukan, bahkan jika peninjau lain menolak perubahan. Namun, peninjau yang diperlukan harus menyetujui PR sebelum PR dapat digabungkan. Ini adalah praktik terbaik bagi setidaknya dua peninjau untuk meninjau dan menyetujui perubahan dalam PR yang signifikan.
Untuk mengatur ulang suara setiap kali penulis PR mendorong perubahan baru, pilih Atur ulang suara peninjau kode saat ada perubahan baru dalam kebijakan Memerlukan jumlah minimum cabang peninjau .
Tabel berikut ini meringkas kebijakan yang bisa Anda tentukan untuk mengkustomisasi cabang. Untuk gambaran umum semua kebijakan dan pengaturan repositori dan cabang, lihat Pengaturan dan kebijakan repositori Git.
Kebijakan
Default
Keterangan
Nonaktif
Memerlukan persetujuan dari sejumlah peninjau tertentu tentang permintaan pull.
Nonaktif
Dorong keterlacakan dengan memeriksa item kerja tertaut pada permintaan pull
Nonaktif
Periksa untuk melihat bahwa semua komentar telah diselesaikan pada permintaan pull.
Nonaktif
Kontrol riwayat cabang dengan membatasi jenis penggabungan yang tersedia saat permintaan pull selesai.
Nonaktif
Tambahkan satu atau beberapa kebijakan untuk memvalidasi kode dengan melakukan pra-penggabungan dan membangun perubahan permintaan pull. Juga dapat mengaktifkan atau menonaktifkan kebijakan.
Nonaktif
Tambahkan satu atau beberapa kebijakan untuk mengharuskan layanan lain memposting status berhasil untuk menyelesaikan permintaan pull. Juga dapat mengaktifkan atau menonaktifkan kebijakan.
Nonaktif
Tambahkan satu atau beberapa kebijakan untuk menunjuk peninjau kode untuk disertakan secara otomatis saat permintaan pull mengubah area kode tertentu. Juga dapat mengaktifkan atau menonaktifkan kebijakan.
Untuk informasi selengkapnya, lihat:
- Gambaran umum kebijakan cabang
- Cara mengonfigurasi kebijakan cabang
- Izin cabang
- Menggunakan Azure Functions untuk membuat kebijakan cabang kustom
Menentukan pemeriksaan status untuk meningkatkan kualitas kode
Permintaan pull dan kebijakan cabang memungkinkan tim menerapkan praktik terbaik untuk meninjau kode dan menjalankan build otomatis. Banyak tim memiliki persyaratan dan validasi lebih lanjut untuk dilakukan pada kode. Untuk memenuhi kebutuhan ini, Anda dapat mengintegrasikan pemeriksaan status PR ke dalam alur kerja PR. Dengan pemeriksaan status PR, layanan eksternal dapat secara terprogram menandatangani perubahan kode dengan mengaitkan informasi keberhasilan atau kegagalan dengan PR.
Untuk informasi lebih lanjut, baca artikel berikut:
- Menyesuaikan dan memperluas alur kerja permintaan pull dengan status permintaan pull
- Membuat server status PR dengan Node.js
- Mengonfigurasi kebijakan cabang bagi layanan eksternal
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.
Langkah berikutnya
- Meningkatkan kualitas kode dengan kebijakan cabang
- Menyesuaikan dan memperluas alur kerja permintaan pull dengan status permintaan pull
- Pemberitahuan pembaruan permintaan pull
- Mengubah cabang default
- Salin perubahan dengan cherry-pick
- Menggabungkan strategi dan menggabungkan squash
- Beberapa basis penggabungan