Lewati ke konten

Meninjau dan menggabungkan PR

Panduan ini menunjukkan cara meninjau dan menggabungkan pull request.

  1. Buka Pull requests di sidebar
  2. Pilih PR dari daftar

Sebuah PR terbuka sebagai workbench bertab, bukan sebagai satu halaman. Lima tab terbuka secara default, dalam urutan ini: Ikhtisar, Diff, Kontrol sumber, Chat, dan Tindakan (pemeriksaan CI yang dikelompokkan menurut workflow). Tinjau — kemajuan pipeline tinjauan, lalu artefak yang diterbitkannya beserta panel temuannya — sengaja bukan salah satunya: sebuah PR tidak punya tinjauan sampai seseorang memintanya, jadi Tanya AI yang membukanya. Terminal, editor satu file, code-server tertanam, dan browser dalam aplikasi terbuka sesuai permintaan; tab pratinjau deployment disuntikkan otomatis saat URL pratinjau terdeteksi pada PR. Tata letak tab Anda diingat per PR.

Tab Ikhtisar memuat metadata PR (penulis, branch, label, penerima tugas, reaksi, commit, status pemeriksaan) dan baris tindakannya: segarkan, Tinjau, Gabungkan, buka di IDE, dan menu tambahan ⋯.

Buka tab Diff untuk melihat seluruh diff PR sekaligus, dengan pohon file untuk melompat antarfail.

  • Tombol pengaturan di bilah alat diff mengalihkan tampilan Terpisah (berdampingan) dan Terpadu serta mengaktifkan atau menonaktifkan pembungkusan baris dan ligatur font kode.
  • Header hunk @@ digantikan oleh kontrol Show N lines / Show end of file yang menyambung konteks di sekitarnya saat diklik.
  • Tekan j / k untuk berpindah antarfail, c untuk menciutkan atau memperluas file yang difokuskan, t untuk mengembalikan sidebar ke pohon file, dan ⌘F untuk mencari di seluruh diff (Enter / Shift+Enter menelusuri hasil yang cocok).
  • Tekan v untuk menandai file yang difokuskan sebagai sudah dilihat, dan kursor maju ke file berikutnya. Di GitHub status sudah dilihat disimpan di forge, jadi status itu mengikuti Anda antarklien; GitLab dan Bitbucket tidak punya API semacam itu, jadi di sana status itu hanya diingat di perangkat ini.

Menyeret dengan mouse di area kode memilih teks hingga tepat ke kolomnya dan ⌘C menyalin sumber mentahnya, bukan penanda diff yang dirender.

  1. Ketuk tepi baris kode untuk membuka composer yang ditambatkan ke baris itu, atau gunakan tombol + pada header file untuk komentar tingkat file
  2. Tulis masukan Anda dalam Markdown
  3. Kirim

Di GitHub dan GitLab, composer menawarkan dua cara mengirim: Tambahkan komentar tunggal langsung diposting, dan Mulai tinjauan / Tambahkan ke tinjauan mengantrekan komentar ke tinjauan tertunda yang baru terkirim bersama Setujui, Minta perubahan, atau Komentar. Bitbucket tidak punya pengelompokan tinjauan tertunda, jadi di sana setiap pengiriman langsung diposting. Postingan langsung menampilkan status tertunda sampai forge mengonfirmasinya, lalu berubah menjadi Disinkronkan. Jika postingan gagal, utasnya ditandai dengan error dan menawarkan coba lagi.

Hanya isi tinjauan yang merupakan draf: isi itu disimpan di sisi server terhadap (pemilik, repo, nomor PR) sesaat setelah Anda berhenti mengetik, sehingga bertahan melewati muat ulang dan mengikuti Anda antara klien desktop dan web.

  1. Tekan Tinjau di baris tindakan Ikhtisar (tombol ini disembunyikan pada PR Anda sendiri dan pada PR yang ditutup atau digabungkan)
  2. Tulis isi tinjauan. Anda dapat melampirkan gambar, menyisipkan emoji atau GIF, dan beralih antara tulis dan pratinjau
  3. Tekan Minta perubahan, Komentar, atau Setujui

Verdiktnya adalah tombolnya — tidak ada pemilih verdikt terpisah. Setelah Setujui atau Minta perubahan, tombol itu berganti label menjadi Disetujui atau Perubahan diminta dan isi drafnya dikosongkan. Verdikt Komentar membiarkan tombol berlabel Tinjau.

Tombol Gabungkan muncul saat Anda punya akses tulis serta PR terbuka dan bukan draf. Warnanya adalah sinyal kesiapan yang berasal dari persetujuan yang diwajibkan dan status pemeriksaan (siap / tertunda / diblokir) — hanya sebagai petunjuk. Tombol ini tidak pernah dinonaktifkan oleh status tinjauan; proteksi branch milik forge sendirilah yang menegakkan aturannya.

  1. Tekan Gabungkan untuk membuka flyout penggabungan
  2. Pilih metode penggabungan: squash, commit merge, atau rebase (squash adalah default). Bitbucket tidak punya penggabungan rebase yang sebenarnya, jadi rebase dipetakan ke strategi fast-forward-nya dan gagal pada branch yang divergen
  3. Untuk squash dan commit merge, edit judul dan deskripsi commit yang telah diisi sebelumnya. Rebase tidak menerima keduanya dan menyembunyikan kedua kolom itu
  4. Baca panel peringatan — panel ini menyebut pemeriksaan yang gagal dan tinjauan yang tertunda, tetapi tidak memblokir Anda
  5. Tekan tombol gabungkan di flyout untuk mengonfirmasi

Menggabungkan bersifat tidak dapat dibatalkan: ini mendorong commit ke forge, jadi ia mendapat langkah konfirmasi alih-alih entri urungkan. Setelah itu cache PR dibatalkan, statusnya berubah menjadi Digabungkan, dan peristiwa PullRequestStatusChanged dipicu dengan status merged. Peristiwa itu melepaskan worktree sementara “buka di editor” dan memulai dua pipeline bawaan: Stale repository cleanup, yang menghapus worktree dan folder percakapan PR yang usang, serta Release notes, yang menyusun draf entri changelog.

Menu tambahan ⋯ pada tab Ikhtisar memuat Tanya AI, yang memulai pipeline pr_review bawaan untuk PR ini. Menu ini hanya muncul selama PR masih terbuka. Lihat Gunakan tinjauan bertenaga AI untuk mengetahui apa yang dilakukan pipeline dan cara menerbitkan temuannya, serta Komputasi tinjauan untuk model kohort dan sumbu yang deterministik.

Control Center juga mengimpor PR yang dibuka oleh manusia di luar aplikasi. Alur tinjauan di atas tetap sama. PR eksternal dideteksi oleh layanan polling PR.