không có vấn đề gì - mọi thứ hoạt động như mong đợi.
Trong GitLab một số chi nhánh có thể được bảo vệ. Theo mặc định, chỉ người dùng Duy trì / Chủ sở hữu mới có thể cam kết với các nhánh được bảo vệ (xem tài liệu quyền ). master
nhánh được bảo vệ theo mặc định - nó buộc các nhà phát triển đưa ra các yêu cầu hợp nhất để được các nhà bảo trì dự án xác nhận trước khi tích hợp chúng vào mã chính.
Bạn có thể bật và tắt bảo vệ trên các nhánh được chọn trong Cài đặt dự án (trong đó chính xác phụ thuộc vào phiên bản GitLab - xem hướng dẫn bên dưới).
Trên cùng một trang cài đặt, bạn cũng có thể cho phép các nhà phát triển đẩy vào các nhánh được bảo vệ. Với cài đặt này, bảo vệ sẽ bị giới hạn trong việc từ chối các hoạt động yêu cầu git push --force
(rebase, v.v.)
Kể từ GitLab 9.3
Chuyển đến dự án: "Cài đặt" → "Kho lưu trữ" → "Mở rộng" trên "Chi nhánh được bảo vệ"
Tôi không thực sự chắc chắn khi thay đổi này được giới thiệu, ảnh chụp màn hình là từ phiên bản 10.3.
Bây giờ bạn có thể chọn người được phép hợp nhất hoặc đẩy vào các nhánh được chọn (ví dụ: bạn hoàn toàn có thể tắt các lần đẩy master
, buộc tất cả các thay đổi đối với nhánh phải được thực hiện thông qua Yêu cầu hợp nhất). Hoặc bạn có thể nhấp vào "Unprotect" để loại bỏ hoàn toàn bảo vệ khỏi chi nhánh.
Kể từ GitLab 9.0
Tương tự như GitLab 9.3, nhưng không cần nhấp vào "Mở rộng" - mọi thứ đã được mở rộng:
Chuyển đến dự án: "Cài đặt" → "Kho lưu trữ" → cuộn xuống "Chi nhánh được bảo vệ".
Trước GitLab 9.0
Dự án: "Cài đặt" → "Chi nhánh được bảo vệ" (nếu bạn ít nhất là 'Master' của dự án cụ thể).
Sau đó nhấp vào "Unprotect" hoặc "Nhà phát triển có thể đẩy":