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

GitHub ให้ย้าย branch protection เป็น rulesets ทั้ง repository ได้ในครั้งเดียว

GitHub ประกาศ 20 ต.ค. 2026 ให้ย้าย branch protection เป็น rulesets ได้ทุกกฎของ repository ในครั้งเดียว พร้อมหน้ารีวิวผลก่อนสร้างและเลือกเก็บกฎเดิมได้

โดย กองบรรณาธิการ THAI DATA อ่าน 4 นาที

แชร์FacebookXLINELinkedIn
ประกาศ Bulk migrate branch protections to rulesets for a repository บน GitHub Changelog วันที่ 20 ตุลาคม 2026
ภาพ: GitHub Changelog (ภาพหน้าจอ)

สรุปประเด็นสำคัญ

  • GitHub ประกาศใน changelog เมื่อ 20 ตุลาคม 2026 ว่าแปลงกฎ branch protection ทั้งหมด ของ repository เป็น rulesets ได้ในครั้งเดียว ต่อยอดจากเดิมที่แปลงได้ทีละกฎ
  • เริ่มที่ Settings → Rulesets → Import branch protection rules หน้า Review import ให้ดูตัวอย่าง rulesets ที่จะสร้าง เลือกสถานะการบังคับใช้ และเลือกเก็บหรือลบกฎเดิมหลังสร้าง
  • กฎ branch protection หนึ่งกฎอาจถูกแยกเป็น rulesets หลายชุดเพื่อคงพฤติกรรมเดิม เช่นภาพตัวอย่างของ GitHub ที่กฎ 2 กฎกลายเป็น 4 rulesets
  • เอกสาร GitHub ระบุว่า repository หนึ่งมี rulesets ได้สูงสุด 75 ชุด และองค์กรมี rulesets ระดับองค์กรได้อีก 75 ชุด ผู้มีสิทธิ์อ่าน repository ดู rulesets ที่ใช้งานอยู่ได้

GitHub ประกาศใน changelog เมื่อ 20 ตุลาคม 2026 ว่าผู้ดูแล repository ย้าย branch protection เป็น rulesets ได้ทุกกฎในครั้งเดียว ผ่านปุ่ม Import branch protection rules ในหน้า Settings → Rulesets จากเดิมที่ต้องแปลงทีละกฎ ทีมที่มีกฎป้องกัน branch หลายชุดจึงย้ายไปใช้ rulesets ได้เร็วขึ้นและตรวจผลก่อนบังคับใช้ได้

ความสามารถนี้ใช้ได้กับทุก repository ที่รองรับ rulesets อยู่แล้ว GitHub จัดประกาศนี้เป็น "Improvement" ในหมวด platform governance

ทำไมการย้าย branch protection เป็น rulesets ทั้ง repository สำคัญ

ก่อนหน้านี้ GitHub ให้แปลงกฎ branch protection เป็น ruleset ได้ทีละกฎจากหน้า Branches ทีมที่ตั้งกฎแยกไว้หลาย branch เช่น branch หลัก branch สำหรับออกรุ่น และ branch แก้ไขด่วน จึงต้องทำซ้ำหลายรอบ การนำเข้าทั้งหมดในหน้าเดียวช่วยลดงานส่วนนี้ และทำให้เห็นภาพรวมก่อนตัดสินใจ แถบแจ้งเตือนในหน้า Rulesets ที่ GitHub ใช้ประกอบประกาศระบุว่า rulesets มีการบังคับใช้แบบซ้อนชั้น โหมด evaluate และการเลือก branch ได้ละเอียดกว่า ส่วน changelog ระบุข้อดีของ rulesets ว่าใช้รูปแบบชื่อ (pattern) ครอบหลาย branch ได้ ซ้อนหลาย rulesets ได้ จัดการระดับองค์กรหรือ enterprise ได้ และกำหนดสิทธิ์ข้ามกฎได้ละเอียด

ขั้นตอนย้าย branch protection เป็น rulesets

  1. เปิด repository แล้วไปที่ Settings → Rulesets
  2. กด Import branch protection rules
  3. ในหน้า Review import ตรวจรายการ rulesets ที่จะถูกสร้าง ดูว่ากฎใดมี ruleset เดิมครอบคลุมอยู่แล้ว และดูกรณีที่กฎหนึ่งถูกแยกเป็นหลาย rulesets เพื่อคงพฤติกรรมเดิม
  4. เลือกสถานะการบังคับใช้ (changelog ยกตัวอย่าง Active, Evaluate และ Disabled) แล้วเลือก rulesets ที่จะสร้าง
  5. กด Create rulesets แล้วเลือกว่าจะเก็บหรือลบกฎ branch protection เดิม
หน้าต่าง Review import ของ GitHub สำหรับย้าย branch protection เป็น rulesets แจ้งว่าจะสร้าง 4 rulesets จาก 2 กฎ พร้อมตัวเลือก Enforcement status
หน้า Rulesets ของ GitHub ที่มีปุ่ม Import branch protection rules และหน้าต่าง Review import แจ้งว่าจะสร้าง 4 rulesets จากกฎ branch protection 2 กฎ ภาพ: GitHub

ภาพตัวอย่างของ GitHub แสดงหน้าต่าง Review import ที่แจ้งว่าจะสร้าง 4 rulesets จากกฎ branch protection 2 กฎ และมีข้อความเตือนความต่างของพฤติกรรม เช่น rulesets ไม่บังคับ status checks แบบ strict เหมือนกฎเดิม ทีมจึงควรอ่านคำเตือนทุกบรรทัดก่อนกดสร้าง

ถ้าเก็บกฎเดิมไว้หลังย้าย branch protection เป็น rulesets

เอกสาร Converting branch protections to rulesets ของ GitHub อธิบายพฤติกรรมไว้ดังนี้

  • ถ้าเก็บกฎ branch protection เดิมไว้ กฎนั้นยังป้องกัน branch ต่อไป และ ruleset ที่สถานะ Active ถูกบังคับใช้พร้อมกัน การเปลี่ยนแปลงต้องผ่านทั้งสองชุด
  • ruleset ใหม่ที่สถานะ Active มีผลทันทีที่สร้าง
  • เมื่อ ruleset ครอบคลุมกฎเดิมครบ หน้า Branches จะขึ้นข้อความ "This rule is fully covered by rulesets and can be safely deleted" และมีปุ่ม Delete แทนปุ่มแปลง
  • GitHub แนะนำให้ยืนยันว่า ruleset ใหม่ทำงานตามที่ต้องการก่อนลบกฎเดิม

เมื่อมีหลาย rulesets หรือมีทั้ง rulesets และกฎ branch protection ครอบ branch เดียวกัน GitHub จะรวมกฎทั้งหมด ถ้ากฎเดียวกันตั้งไว้ต่างกัน เช่นจำนวนผู้รีวิวขั้นต่ำ จะใช้แบบที่เข้มที่สุด

rulesets ต่างจาก branch protection อย่างไร

ประเด็น (ตามเอกสาร GitHub) branch protection rulesets
จำนวนที่ใช้กับ branch เดียวกัน กฎเดียว หลายชุดพร้อมกัน ซ้อนกันเป็นชั้นได้
เปลี่ยนสถานะการบังคับใช้ — เปลี่ยนสถานะได้โดยไม่ต้องลบ
ใครดูกฎได้ — ผู้มีสิทธิ์อ่าน repository ดู rulesets ที่ใช้งานอยู่ได้
ขอบเขต ราย repository ราย repository และระดับองค์กรหรือ enterprise
ผู้ข้ามกฎ — กำหนดแบบละเอียดเป็นผู้ใช้ ทีม หรือ GitHub App ได้
จำนวนสูงสุด — 75 ชุดต่อ repository และ 75 ชุดระดับองค์กร

เอกสารของ GitHub ระบุด้วยว่าการให้ผู้มีสิทธิ์อ่านเห็น rulesets ช่วยให้นักพัฒนารู้ว่ากฎใดมีผลกับตัวเอง และให้ผู้ตรวจสอบ (auditor) ตรวจการป้องกันของ repository ได้โดยไม่ต้องมีสิทธิ์ผู้ดูแล

หน้าเอกสาร About rulesets ของ GitHub Docs ระบุผู้ที่ใช้ rulesets ได้ แผนที่รองรับ และจำนวนสูงสุด 75 ชุดต่อ repository
หน้าเอกสาร About rulesets ของ GitHub Docs ระบุผู้ที่ใช้ได้ แผนที่รองรับ และจำนวน rulesets สูงสุด 75 ชุดต่อ repository ภาพ: GitHub Docs (ภาพหน้าจอ)

ใครย้าย branch protection เป็น rulesets ได้

  • ผู้มีสิทธิ์ admin ของ repository หรือผู้ที่มี custom role ที่มีสิทธิ์ "edit repository rules"
  • rulesets ใช้ได้กับ repository สาธารณะในแผน GitHub Free และ GitHub Free for organizations และใช้ได้ทั้ง repository สาธารณะและส่วนตัวในแผน GitHub Pro, GitHub Team และ GitHub Enterprise Cloud
  • push rulesets ใช้ได้ในแผน GitHub Team สำหรับ repository แบบ internal และ private

ผลต่อองค์กรไทยและทีมพัฒนา

  1. สำรวจกฎเดิมก่อน: ทีมที่ดูแลหลาย repository ควรเริ่มจาก repository ที่มีกฎซับซ้อนน้อย แล้วดูหน้า Review import ว่ากฎใดถูกแยกเป็นหลายชุดหรือมีคำเตือนเรื่องพฤติกรรมที่เปลี่ยน
  2. ทดสอบก่อนบังคับใช้: เมื่อย้าย branch protection เป็น rulesets แล้ว ให้เลือกเก็บกฎเดิมไว้ก่อน ให้ ruleset ทำงานคู่กันสักระยะ แล้วค่อยลบกฎเดิมเมื่อหน้า Branches ยืนยันว่าครอบคลุมครบ
  3. ใช้กับงานตรวจสอบ: ฝ่ายตรวจสอบภายในหรือทีมความปลอดภัยดู rulesets ที่ใช้งานได้ด้วยสิทธิ์อ่าน จึงตรวจการบังคับรีวิวโค้ดหรือการห้าม force push ได้โดยไม่ต้องขอสิทธิ์ผู้ดูแล
  4. วางกฎระดับองค์กร: องค์กรที่ใช้แผน Team หรือ Enterprise ควรย้ายกฎที่ซ้ำกันในหลาย repository ไปเป็น rulesets ระดับองค์กร เพื่อลดงานดูแลทีละ repository

ติดตามข่าวเครื่องมือนักพัฒนาอื่นได้ที่หมวดซอฟต์แวร์

คำถามที่พบบ่อย

ย้าย branch protection เป็น rulesets ทั้ง repository ทำอย่างไร?

การย้าย branch protection เป็น rulesets ทั้ง repository เริ่มที่ Settings → Rulesets แล้วกด Import branch protection rules หน้า Review import จะแสดง rulesets ที่จะสร้าง ให้เลือกสถานะการบังคับใช้และเลือกชุดที่ต้องการ จากนั้นกด Create rulesets แล้วเลือกว่าจะเก็บหรือลบกฎ branch protection เดิม GitHub ประกาศความสามารถนี้เมื่อ 20 ตุลาคม 2026

ใครย้าย branch protection เป็น rulesets ได้บ้าง?

ผู้ที่มีสิทธิ์ admin ของ repository หรือมี custom role ที่มีสิทธิ์ edit repository rules สร้าง แก้ไข และลบ rulesets ได้ rulesets ใช้ได้กับ repository สาธารณะในแผน GitHub Free และใช้ได้ทั้ง repository สาธารณะและส่วนตัวในแผน Pro, Team และ Enterprise Cloud

ถ้าเก็บกฎ branch protection เดิมไว้จะเกิดอะไรขึ้น?

เอกสารของ GitHub ระบุว่ากฎเดิมยังป้องกัน branch ต่อไป และ ruleset ที่สถานะ Active จะถูกบังคับใช้พร้อมกัน การเปลี่ยนแปลงจึงต้องผ่านทั้งสองชุด เมื่อ ruleset ครอบคลุมกฎเดิมครบ หน้า Branches จะขึ้นข้อความว่าลบกฎเดิมได้อย่างปลอดภัย

rulesets ต่างจาก branch protection อย่างไร?

เหตุผลที่ควรย้าย branch protection เป็น rulesets คือ branch หนึ่งใช้กฎ branch protection ได้กฎเดียว แต่ใช้ rulesets ได้หลายชุดพร้อมกัน rulesets เปลี่ยนสถานะการบังคับใช้ได้โดยไม่ต้องลบ ผู้มีสิทธิ์อ่านดู rulesets ที่ใช้งานได้ ตั้งระดับองค์กรได้ และกำหนดผู้ข้ามกฎเป็นผู้ใช้ ทีม หรือ GitHub App ได้

แหล่งอ้างอิง

  1. Bulk migrate branch protections to rulesets for a repository — GitHub Changelog
  2. Converting branch protections to rulesets — GitHub Docs
  3. About rulesets — GitHub Docs

บุคคล องค์กร และสถานที่ในข่าวนี้

เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว

องค์กรและบริษัท
GitHub50
แชร์FacebookXLINELinkedIn

พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ