Mục lụcChạm để xem nhanh các phần+
- Import mới áp dụng nhiều rule trong một repository; không đồng nghĩa tự chuyển mọi repository của công ty.
- Evaluate ghi nhận tác động nhưng không chặn; Disabled cũng không bảo vệ như Active.
- Giữ rule cũ trong quá trình nghiệm thu, kiểm tra quyền bypass và tên status check thực tế.
Chuyển cấu hình bảo vệ mã nguồn với bước xem trước
GitHub công bố ngày 20/10/2026 khả năng chuyển hàng loạt branch protection rule của một repository sang ruleset. Quản trị viên có thể xem các ruleset sẽ được tạo và chọn trạng thái thực thi trước khi xác nhận. Đội phần mềm đang có nhiều cấu hình bảo vệ nhánh nên thử trên repository mẫu, giữ cấu hình cũ cho đến khi xác nhận chính sách mới bảo vệ đúng nhánh và đúng quyền.
Branch protection quy định điều kiện để thay đổi một nhánh mã nguồn, chẳng hạn phải có người duyệt hoặc kiểm tra thành công. Ruleset tổ chức các điều kiện thành bộ quy tắc linh hoạt hơn; nhiều ruleset có thể cùng áp dụng cho một nhánh. Công bố này mở rộng luồng chuyển từng rule đã có, không phải lần đầu GitHub giới thiệu ruleset.
Đối với công ty phát triển phần mềm cho nhiều khách hàng, giá trị tiềm năng là giảm thao tác dựng lại chính sách và có bước so sánh trước khi đổi. Tuy nhiên, nút import hoạt động trong repository được chọn. Thông báo không nói có thể tự chuyển toàn bộ kho mã của công ty trong một lần hoặc bảo đảm mọi ngoại lệ cũ đều phù hợp chính sách mới.
Một rule có thể thành nhiều ruleset
Luồng mới nằm tại Settings, Rulesets, Import branch protection rules. Hộp Review import cho xem rule đã được bộ hiện có bao phủ, cảnh báo khác biệt hành vi và những trường hợp một branch protection rule cần tách thành nhiều ruleset để giữ cách bảo vệ ban đầu. Không nên dùng số ruleset tạo ra làm thước đo số nhánh đã bảo vệ.
Quản trị viên có thể chọn bộ nào cần tạo và trạng thái Active, Evaluate hoặc Disabled trong phạm vi tính năng tài khoản hỗ trợ. Sau khi tạo, hệ thống cho quyết định giữ hoặc xóa rule cũ. Tài liệu GitHub lưu ý chỉ bỏ rule cũ sau khi bộ mới Active và đã xác nhận hành vi, vì Evaluate và Disabled không cung cấp chặn thực sự.
Friday Works khuyến nghị so sánh theo hành vi: nhánh release cần ai duyệt, job nào phải đạt, ai được bypass và thao tác nào bị cấm. Một tên ruleset giống rule cũ chưa chứng minh điều kiện tương đương. Với pattern tên nhánh, cần kiểm tra cả nhánh lồng nhiều cấp thay vì chỉ một nhánh main quen thuộc.

Evaluate dùng để quan sát, Active mới áp dụng điều kiện
Evaluate phù hợp quan sát tác động trước khi buộc thao tác tuân thủ, nhưng tính khả dụng phụ thuộc gói và loại ruleset. Không nên xây quy trình mặc định rằng repository nào cũng có Evaluate. Người có quyền đọc có thể xem ruleset áp dụng; người sửa cần quyền quản trị hoặc quyền tùy chỉnh phù hợp để chỉnh repository rules.
Giữ rule cũ và tạo ruleset Active có thể khiến thay đổi phải đáp ứng cả hai lớp. Điều này giúp tránh khoảng trống bảo vệ nhưng cũng có thể gây chặn ngoài dự tính nếu hai bộ điều kiện khác nhau. Friday Works đề nghị mô tả rõ giai đoạn chuyển tiếp, người xử lý khi pull request bị chặn và tiêu chí kết thúc.
Ảnh thân là cấu hình thật Require code scanning results trong ruleset, không phải bảng mô phỏng của Friday Works. Khi nghiệm thu một yêu cầu kiểm tra mã, cần đối chiếu đúng công cụ và ngưỡng cảnh báo trong cấu hình. Không tự gán cho ảnh rằng repository khách hàng đã bật CodeQL hoặc migration đã thành công.
Nghiệm thu bằng các thao tác được phép trên repository mẫu
Friday Works khuyến nghị lập một nhóm tình huống mẫu: pull request đủ người duyệt và đủ check, thiếu người duyệt, thiếu check và thao tác của tài khoản có hoặc không có bypass. Chỉ dùng tài khoản, nhánh và repository do công ty cho phép. Không thử force push hoặc xóa nhánh production để chứng minh quy tắc chạy.
Trước khi bỏ rule cũ, ghi lại cấu hình, phạm vi nhánh và kết quả thử; xác nhận ruleset mới Active, đúng mục tiêu và không vô tình mở quyền bypass cho ứng dụng. Nếu phát hiện khác biệt, dừng chuyển nhóm tiếp theo để sửa một trường hợp mẫu trước. Một thông báo tạo thành công chỉ xác nhận đối tượng đã được tạo, chưa xác nhận chính sách thực tế tương đương.
Bìa là giao diện GitHub Rulesets của nhánh team-test trong GitHub Docs: bộ Team test đang Active, ba quy tắc cho một nhánh mẫu. Đây là phần xem trạng thái và phạm vi có thật, không giả làm hộp thoại import mới ngày 20/10. Hai ảnh © GitHub, CC BY 4.0, ngày chụp gốc không ghi; chỉ thu nhỏ và thêm lề để giữ trọn nội dung.
Nguồn tham khảo
Tài liệu đã dùng để biên soạn
Ưu tiên tài liệu chính thức và nguồn kỹ thuật gốc. Truy cập để kiểm tra chi tiết hoặc theo dõi cập nhật mới nhất.
- Bulk conversion announcement —20 October 2026GitHub ↗︎
- Conversion procedure and preserving original protection; maintained documentationGitHub Docs ↗︎
- Ruleset availability, permissions and enforcement states; maintained documentationGitHub Docs ↗︎
- Actual GitHub Docs demo UI, © GitHub, CC BY 4.0; original date unspecified, checked 22 October 2026; resize/framing onlyGitHub ↗︎
- GitHub Docs CC BY 4.0 license, full notice retainedGitHub ↗︎
- CC BY 4.0Creative Commons ↗︎
- Actual GitHub Docs demo UI, © GitHub, CC BY 4.0; original date unspecified, checked 22 October 2026; resize/framing onlyGitHub ↗︎
