GitHub Stacked Pull Requests ขึ้น GA — rebase ทั้ง stack แล้ว approval ไม่หาย, commit ที่ rebase ยังมีลายเซ็น, ทั้ง stack เข้า merge queue เป็นก้อนเดียว และ gh stack รองรับ worktree สำหรับ agent
เมื่อ 6 ต.ค. 2026 GitHub ประกาศให้ stacked pull requests เป็น generally available บนทุกแผนของ github.com และจะตามไปใน GitHub Enterprise Server รุ่นถัดไป ฟีเจอร์นี้เปิด public preview เมื่อ 30 ก.ค. (แนวคิดพื้นฐานอยู่ในโพสต์นั้นแล้ว) โพสต์นี้จึงพูดเฉพาะสิ่งที่เปลี่ยนตอนขึ้น GA
GitHub ให้ตัวเลขจากช่วง preview ว่า repo ที่ใช้ stack มี merged code เพิ่มขึ้น 9% เมื่อเทียบกับ repo ใกล้เคียงที่ไม่ใช้ และ มากกว่าสองในสามของ repo ท็อป 1% ใช้ stacked PR แล้ว โดยกลุ่มนี้ time-to-merge ดีขึ้น 5% ทั้งหมดเป็นตัวเลขภายในของ GitHub และเป็นการเปรียบเทียบเชิงสังเกต ไม่ใช่การทดลองแบบสุ่ม
แก้ปัญหาที่องค์กรติดจริง
ของใหม่ส่วนใหญ่ในรอบนี้คือการทำให้ stack ไม่ชนกับกฎ branch protection ที่องค์กรตั้งไว้
- Approval ไม่หายเมื่อ rebase — ถ้า stack ไม่ได้แก้โค้ดเพิ่ม แค่
mainขยับไปข้างหน้า คำสั่ง Rebase stack จะเก็บ approval ไว้ “even in repositories that dismiss stale approvals” เดิมจุดนี้ทำให้ต้องตามขอรีวิวซ้ำทุกชั้นทุกครั้งที่ rebase - Commit ยังมีลายเซ็น — GitHub สร้าง signed replacement commit ให้ตอน rebase stack และตอน rebase อัตโนมัติหลัง merge ไปบางส่วน โดยเก็บผู้เขียนเดิมไว้ เมื่อกฎของ branch บังคับลายเซ็นหรือ commit ต้นฉบับมีลายเซ็นอยู่แล้ว
- Bypass permission ใช้กับ stack ได้ — คนที่มีสิทธิ์ข้ามกฎ merge PR ชั้นล่างสุดที่ยังไม่ merge ได้
- ทั้ง stack เข้า merge queue เป็น merge group เดียว และถ้าใช้ merge commit ตอนนี้จะได้หนึ่ง merge commit ต่อหนึ่ง PR ไม่ใช่ก้อนเดียวรวมทั้ง stack เหมือนตอน preview ประวัติใน
mainจึงย้อนดูทีละ PR ได้ - Stack แตกกิ่งได้ — ถ้า base branch ถูกลบ GitHub จะ retarget stack ให้อัตโนมัติแทนที่จะปิด PR ชั้นล่าง รองรับกรณีที่ stack หนึ่งแตกออกมาจากอีก stack
- Auto-merge ทั้ง stack — ตั้งให้ทั้งกลุ่ม merge พร้อมกันเมื่อเงื่อนไขครบ ส่วนนี้ ยังไม่มา จะทยอยเปิด “over the next few weeks”
ฝั่ง UI, webhook และ CLI
ข้อมูล stack แสดงอยู่ใน header ของหน้า PR ตลอดเวลาและในหน้ารายการ PR ใช้ Shift+J / Shift+K เลื่อนระหว่าง PR ใน stack ได้ timeline บันทึกว่า PR ถูกเพิ่มหรือถอดออกจาก stack เมื่อไร และ webhook pull_request มี action ใหม่ชื่อ stacked สำหรับ bot หรือ CI ที่อยากรู้ว่า PR เข้า stack แล้ว
ส่วน extension gh stack ของ GitHub CLI ตอนนี้ รองรับ git worktree และ init, checkout และ navigation เร็วขึ้น GitHub จัดเรื่องนี้ไว้ใต้หัวข้อ “CLI and agent workflows” เพราะ worktree เป็นวิธีที่ coding agent หลายตัวใช้แยกงานขนานกัน
มุมมอง AI Curator
ใน GA รอบนี้ เรื่องที่สำคัญที่สุดคือ approval ไม่หายเมื่อ rebase ไม่ใช่ปุ่มใหม่หรือ shortcut ใหม่ ทีมที่ทำงานภายใต้ข้อกำหนดด้าน compliance อย่างธนาคารหรือฟินเทคในไทยที่ต้องผ่านการตรวจของ ธปท. มักเปิด “dismiss stale approvals” ไว้ ซึ่งทำให้ stacked PR แทบใช้ไม่ได้ในช่วง preview เพราะทุกครั้งที่ main ขยับ approval ทุกชั้นจะหายหมด เมื่อ GitHub แยกได้ว่าเป็น rebase เปล่า ๆ หรือมีการแก้โค้ดจริง ทีมกลุ่มนี้ก็ใช้ stack ได้โดยไม่ต้องผ่อนกฎ
ในระยะยาว stacked PR น่าจะสำคัญกับงานที่ เอเจนต์ สร้างมากกว่างานที่คนสร้าง เอเจนต์ชอบผลิต diff ก้อนใหญ่ที่ไม่มีใครอยากรีวิว การบังคับให้มันแตกงานเป็น stack ที่แต่ละชั้นเล็กพอให้คนอ่านไหว คือวิธีที่ใช้ได้จริงที่สุดในการรักษาคุณภาพรีวิว เมื่อมีทั้ง worktree support และ webhook stacked แล้ว ทีมที่ใช้ Copilot, Claude Code หรือ Codex ทำ PR อัตโนมัติควรลองตั้งกติกาให้เอเจนต์เปิด PR เป็น stack ตั้งแต่ตอนนี้ ไม่ต้องรอ auto-merge
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog