ข้ามไปยังเนื้อหา

รีวิวและรวม PR

คู่มือนี้แสดงวิธีรีวิวและรวม pull request

  1. ไปที่ Pull request ในแถบด้านข้าง
  2. เลือก PR จากรายการ

PR เปิดเป็นเวิร์กเบนช์แบบมีแท็บ ไม่ใช่หน้าเดียว โดยค่าเริ่มต้นจะเปิดห้าแท็บ ตามลำดับนี้: ภาพรวม, Diff, การควบคุมซอร์ส, แชท และ การกระทำ (เช็ก CI ที่จัดกลุ่มตามเวิร์กโฟลว์) ส่วน รีวิว — ความคืบหน้าของไปป์ไลน์รีวิว แล้วตามด้วยอาร์ติแฟกต์ที่มันเผยแพร่พร้อมรางข้อค้นพบ — จงใจไม่นับรวมอยู่ในนั้น: PR จะยังไม่มีรีวิวจนกว่าจะมีคนขอ ดังนั้น ถาม AI จึงเป็นตัวเปิดมัน เทอร์มินัล เอดิเตอร์แบบไฟล์เดียว code-server ที่ฝังไว้ และเบราว์เซอร์ในแอปเปิดตามต้องการ แท็บตัวอย่างก่อนปรับใช้จะถูกเพิ่มให้อัตโนมัติเมื่อตรวจพบ URL ตัวอย่างบน PR เลย์เอาต์แท็บของคุณถูกจดจำไว้ต่อ PR

แท็บภาพรวมเก็บเมทาดาทาของ PR (ผู้เขียน แบรนช์ ป้าย ผู้รับมอบหมาย รีแอกชัน คอมมิต สถานะเช็ก) และแถวการกระทำ: รีเฟรช รีวิว รวม เปิดใน IDE และเมนู ⋯

เปิดแท็บ Diff เพื่อดู diff ทั้งหมดของ PR ในคราวเดียว พร้อมแผนผังไฟล์ สำหรับกระโดดไปมาระหว่างไฟล์

  • ปุ่มการตั้งค่าในแถบเครื่องมือของ diff สลับระหว่างมุมมอง แยก (เคียงข้างกัน) กับ รวม และเปิดปิดการตัดบรรทัดและการเชื่อมตัวอักษรของฟอนต์โค้ด
  • ส่วนหัว hunk แบบ @@ ถูกแทนที่ด้วยปุ่ม Show N lines / Show end of file ซึ่งแทรกบริบทแวดล้อมให้เมื่อคลิก
  • กด j / k เพื่อไล่ระหว่างไฟล์, c เพื่อยุบหรือขยายไฟล์ที่โฟกัสอยู่, t เพื่อคืนแถบด้านข้างกลับไปที่แผนผังไฟล์ และ ⌘F เพื่อค้นหาทั่วทั้ง diff (Enter / Shift+Enter ไล่ดูผลที่ตรงกัน)
  • กด v เพื่อทำเครื่องหมายไฟล์ที่โฟกัสอยู่ว่า “ดูแล้ว” แล้วเคอร์เซอร์จะเลื่อนไปที่ ไฟล์ถัดไป บน GitHub สถานะ “ดูแล้ว” ถูกเก็บไว้ที่ฟอร์จ มันจึงติดตามคุณไปยัง ไคลเอนต์อื่นด้วย; GitLab และ Bitbucket ไม่มี API แบบนั้น สถานะนี้จึงถูกจดจำไว้ เฉพาะบนอุปกรณ์เครื่องนี้

การลากเมาส์ในพื้นที่โค้ดเลือกข้อความได้ลงถึงคอลัมน์ที่แน่นอน และ ⌘C คัดลอกซอร์สดิบแทนเครื่องหมาย diff ที่เรนเดอร์แล้ว

  1. แตะร่อง (gutter) ของแถวโค้ดเพื่อเปิดช่องเขียนที่ยึดกับบรรทัดนั้น หรือใช้ปุ่ม + บนส่วนหัวของไฟล์สำหรับความคิดเห็นระดับไฟล์
  2. เขียนข้อเสนอแนะของคุณเป็น Markdown
  3. ส่ง

บน GitHub และ GitLab ช่องเขียนมีสองปุ่มส่ง: เพิ่มความคิดเห็นเดี่ยว โพสต์ทันที ส่วน เริ่มรีวิว / เพิ่มในรีวิว จะจัดความคิดเห็นเข้า รีวิวที่รออยู่ ซึ่งจะออกไปพร้อม อนุมัติ, ขอให้แก้ไข หรือ ความคิดเห็น Bitbucket ไม่มีการรวมกลุ่มรีวิวที่รออยู่ ทุกการส่งจึงโพสต์ ทันที การโพสต์ทันทีจะแสดงสถานะรอดำเนินการจนกว่าฟอร์จจะยืนยัน แล้วจึงเปลี่ยนเป็น ซิงค์แล้ว หากการโพสต์ล้มเหลว เธรดจะถูกทำเครื่องหมายด้วยข้อผิดพลาดและเสนอการลองใหม่

เฉพาะ เนื้อความ ของรีวิวเท่านั้นที่เป็นฉบับร่าง: มันถูกบันทึกฝั่งเซิร์ฟเวอร์โดยอิงกับ (เจ้าของ, รีโพ, หมายเลข PR) ชั่วครู่หลังจากคุณพิมพ์หยุด จึงรอดจากการโหลดใหม่ และติดตามคุณไประหว่างไคลเอนต์เดสก์ท็อปกับเว็บ

  1. กด รีวิว ในแถวการกระทำของแท็บภาพรวม (ปุ่มนี้ถูกซ่อนบน PR ของคุณเอง และบน PR ที่ปิดหรือรวมแล้ว)
  2. เขียนเนื้อความของรีวิว คุณแนบรูปภาพ แทรกอีโมจิหรือ GIF และสลับระหว่าง โหมดเขียนกับโหมดตัวอย่างได้
  3. กด ขอให้แก้ไข ความคิดเห็น หรือ อนุมัติ

คำตัดสิน คือ ปุ่มนั้น — ไม่มีตัวเลือกคำตัดสินแยกต่างหาก หลัง อนุมัติ หรือ ขอให้แก้ไข ปุ่มจะเปลี่ยนชื่อตัวเองเป็น อนุมัติแล้ว หรือ ขอให้แก้ไขแล้ว และเนื้อความฉบับร่างจะถูกล้าง คำตัดสิน ความคิดเห็น ทำให้ปุ่มยังมีป้ายว่า รีวิว

ปุ่ม รวม จะปรากฏเมื่อคุณมีสิทธิ์เขียน และ PR เปิดอยู่และไม่ใช่ฉบับร่าง สีของมันเป็นสัญญาณความพร้อมที่คำนวณจากการอนุมัติที่จำเป็นและสถานะเช็ก (พร้อม / รอดำเนินการ / ถูกบล็อก) — เป็นเพียงคำแนะนำเท่านั้น ปุ่มนี้ไม่เคยถูก ปิดใช้งานด้วยสถานะรีวิว การป้องกันแบรนช์ของฟอร์จเองต่างหากที่บังคับใช้กฎ

  1. กด รวม เพื่อเปิดแผงเลื่อนสำหรับรวม
  2. เลือกวิธีการรวม: สควอช, คอมมิตการรวม หรือ รีเบส (สควอชเป็นค่า เริ่มต้น) Bitbucket ไม่มีการรวมแบบรีเบสจริง รีเบสจึงถูกแมปไปเป็นกลยุทธ์ fast-forward ของมัน และล้มเหลวบนแบรนช์ที่แยกออกไป
  3. สำหรับสควอชและคอมมิตการรวม ให้แก้ชื่อและคำอธิบายคอมมิตที่เติมไว้ล่วงหน้า ส่วนรีเบสไม่รับทั้งสองอย่างและซ่อนทั้งสองฟิลด์
  4. อ่านแผงคำเตือน — มันระบุเช็กที่ล้มเหลวและรีวิวที่รออยู่ แต่ไม่บล็อกคุณ
  5. กดปุ่มรวมในแผงเลื่อนเพื่อยืนยัน

การรวมย้อนกลับไม่ได้: มันพุชคอมมิตไปยังฟอร์จ จึงได้ขั้นตอนยืนยันแทนรายการเลิกทำ หลังจากนั้นแคชของ PR จะถูกทำให้เป็นโมฆะ สถานะของมันเปลี่ยนเป็น รวมแล้ว และเหตุการณ์ PullRequestStatusChanged จะถูกยิงด้วยสถานะ merged เหตุการณ์นั้นปล่อย worktree “เปิดในเอดิเตอร์” ชั่วคราว และเริ่มไปป์ไลน์ที่หว่านไว้ล่วงหน้า สองตัว: Stale repository cleanup ซึ่งลบ worktree และโฟลเดอร์การสนทนาที่ค้างอยู่ ของ PR และ Release notes ซึ่งร่างรายการบันทึกการเปลี่ยนแปลง

เมนู ⋯ บนแท็บภาพรวมมี ถาม AI ซึ่งเริ่มไปป์ไลน์ pr_review ที่หว่านไว้ล่วงหน้าสำหรับ PR นี้ มันจะปรากฏเฉพาะขณะที่ PR เปิดอยู่ ดู ใช้รีวิวด้วย AI ว่าไปป์ไลน์ทำอะไรและ เผยแพร่ข้อค้นพบอย่างไร และ การคำนวณรีวิว สำหรับโมเดล cohort และแกนที่กำหนดแน่นอน

Control Center ยังนำเข้า PR ที่มนุษย์เปิดไว้นอกแอปด้วย ขั้นตอนการรีวิว ข้างต้นเหมือนกันทุกประการ PR ภายนอกถูกตรวจพบโดยบริการ polling PR