Bagikan melalui


Menyelesaikan, mengabaikan, atau mengembalikan permintaan pull

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

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 serta menyelesaikan komentar tinjauan, lihat Menanggapi Komentar.

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.

Catatan

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.

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 komit gabungan baru ke akhir cabang utama. Penerapan penggabungan ini menghubungkan riwayat sebelumnya dari cabang utama dan cabang sumber PR. Untuk melihat pratinjau commit penggabungan dan memeriksa konflik penggabungan, pilih menu Lainnya di kanan atas pada halaman Gambaran Umum PR, lalu pilih Lihat 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.

Cuplikan layar yang memperlihatkan opsi Tampilkan gabungan dan Mulai ulang penggabungan di menu Opsi lainnya dari P R.

Meninjau kebijakan cabang

Teams dapat mengatur kebijakan cabang yang mengharuskan PR di cabang yang dilindungi untuk memenuhi kriteria tertentu sebelum PR dapat dimerger. Anda dapat melihat kebijakan cabang yang berlaku untuk PR Anda, apakah kebijakan tersebut diperlukan untuk penggabungan, dan apakah PR Anda berhasil atau gagal.

Tab Gambaran Umum merangkum kebijakan cabang yang lulus 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.

Cuplikan layar yang memperlihatkan Kebijakan tampilan di samping persyaratan kebijakan cabang dalam P R.

Menyelesaikan pull request

Setelah Anda menyelesaikan konflik penggabungan yang ada, dan Permintaan Penggabungan (PR) tersebut mematuhi semua kebijakan cabang serta memiliki semua persetujuan yang diperlukan, Anda dapat menyelesaikan PR tersebut.

  1. Pilih Selesai di kanan atas untuk menyelesaikan PR. Atau pilih panah dropdown di samping tombol Selesai , dan pilih salah satu opsi.

    Cuplikan layar yang memperlihatkan opsi tombol Lengkap untuk P R.

    • Selesai: Selesaikan PR sekarang, dan gabungkan perubahan ke cabang yang dituju.
    • Atur penyelesaian otomatis: Konfigurasikan PR untuk menyelesaikan dan menggabungkan setelah semua kebijakan cabang yang diperlukan terpenuhi.
    • Tandai sebagai draf: Kembalikan PR ke status draf dan hapus semua pemungutan suara.
    • Batalkan: Tutup PR tanpa menggabungkan perubahan.
  2. Di panel Selesaikan permintaan pull, di bawah Jenis penggabungan, pilih salah satu opsi penggabungan.

    Cuplikan layar yang memperlihatkan dialog P R lengkap.

    • Gabungkan (tanpa penerusan cepat): Gabungkan dengan riwayat non-linier yang mempertahankan semua komit.
    • 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: Tempatkan ulang commit sumber ke target dan lakukan fast-forward.
    • 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.

  3. 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 commit gabungan: Tambahkan pesan commit gabungan kustom. Jika Anda memilih opsi ini, perbarui pesan komit gabung.
    • Ambil alih kebijakan cabang dan aktifkan penggabungan. Paksa penggabungan meskipun PR tidak memenuhi semua kebijakan cabang. Opsi ini hanya tersedia jika Anda memiliki izin Dikecualikan dari penerapan kebijakan.
  4. Pilih Selesaikan penggabungan.

Saat Anda menyelesaikan penggabungan, setiap item kerja tertaut secara otomatis diperbarui untuk menunjukkan penyelesaian PR.

Cuplikan layar item kerja tertaut memperlihatkan R P yang telah selesai.

Rebase saat penyelesaian PR

Ada beberapa situasi saat melakukan rebasing selama penyelesaian Pull Request (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 merge tiga arah jarang berhasil atau valid saat melakukan rebase semua komit 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 basis penggabungan

Dalam beberapa kasus, PR memiliki lebih dari satu dasar penggabungan yang sebenarnya, dan situasi ini dapat menyebabkan masalah keamanan. Jika file dalam PR memiliki versi yang berbeda di antara basis penggabungan, peringatan beberapa basis penggabungan akan muncul. Untuk informasi selengkapnya dan pemulihan, 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 melengkapi secara otomatis. Untuk instruksi tentang mengatasi konflik penggabungan, lihat Mengatasi konflik penggabungan.

Cuplikan layar yang memperlihatkan konflik penggabungan pada tab Gambaran Umum P R.

Membuat permintaan tarik untuk melengkapi otomatis

Pilih Setel lengkapi otomatis dari daftar dropdown 'Lengkap' untuk menyelesaikan dan menggabungkan perubahan PR segera setelah semua kebijakan cabang terpenuhi. Setelah PR selesai, Anda menerima pemberitahuan email. Jika konflik atau kesalahan mencegah penyelesaian PR, email akan memberi tahu Anda tentang masalah tersebut.

Catatan

Opsi Pengaturan penyelesaian otomatis tersedia di Azure Repos dan TFS 2017 dan yang lebih tinggi ketika Anda memiliki kebijakan cabang. Jika Anda tidak melihat Atur penyelesaian otomatis, Anda tidak memiliki kebijakan cabang apa pun. Untuk informasi selengkapnya, lihat Kebijakan cabang.

Pada dasarnya, PR yang diatur untuk melengkapi otomatis hanya menunggu kebijakan yang diperlukan. Di panel Aktifkan penyelesaian otomatis, Anda juga dapat memilih untuk menunggu kebijakan opsional.

Cuplikan layar yang memperlihatkan perubahan kebijakan opsional ke yang diperlukan di panel Aktifkan penyelesaian otomatis.

Dimulai dengan TFS 2018 Update 2, halaman Gambaran Umum PR menampilkan daftar kriteria kebijakan yang belum selesai yang sedang ditunggu oleh 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 pelengkapan otomatis untuk menonaktifkan pelengkapan otomatis.

Tangkapan layar PR dalam status pelengkapan otomatis.

Tangkapan layar PR dalam status pelengkapan otomatis.

PR yang diatur ke lengkapi otomatis menampilkan lencana Otomatis Lengkapi pada halaman Pull Request.

Cuplikan layar menampilkan PR pelengkapan otomatis dalam daftar PR.

Mengabaikan atau mengaktifkan kembali pull request

Untuk mengabaikan perubahan dan PR Anda tanpa penggabungan, pilih Abaikan dari daftar dropdown pada tombol Selesai . Anda masih dapat melihat PR yang ditinggalkan, dan itu tetap tertaut ke item kerja.

Untuk mengaktifkan ulang PR yang ditinggalkan kapan saja, buka PR dari tab Ditinggalkan pada Tampilan PR, dan pilih Aktifkan Ulang di kanan atas.

Mengembalikan permintaan pull yang telah selesai

Untuk membatalkan perubahan dari PR, ikuti langkah-langkah ini. Untuk informasi selengkapnya, lihat Membatalkan perubahan.

  1. Buka PR yang telah selesai dan pilih Kembalikan. Tindakan ini membuat cabang baru dengan perubahan yang membatalkan PR di cabang target yang sudah ada di repositori Anda.

  2. Di jendela Kembalikan permintaan tarik:

    1. Di bawah Cabang target, pilih cabang tempat Anda ingin membatalkan perubahan PR.
    2. Di bawah Nama cabang topik diperlukan, ubah nama cabang PR yang di-revert jika Anda mau.
    3. Pilih Kembalikan.
  3. Di layar Permintaan pull baru, pilih Buat.

  4. Gabungkan PR baru untuk menyelesaikan pembatalan.

Catatan

Cabang yang dibuat untuk pemulihan ini memiliki satu commit yang membatalkan semua perubahan file dari PR asli. Cabang tidak berisi penerapan yang dikembalikan untuk setiap penerapan dalam PR asli.

Langkah berikutnya