2011-09-23 27 views
10

Có cách nào để đặt chi nhánh cụ thể trên GitHub thành chỉ đọc (chỉ đọc) hoặc tôi chỉ có thể đặt chi nhánh này cho toàn bộ kho lưu trữ không?Tôi có thể chỉ định một nhánh cụ thể trên GitHub pull-only (chỉ đọc) không?

+1

Bạn có yêu cầu nếu nó có thể để không cho phép đẩy vào chi nhánh cụ thể? – Paragon

+0

Xem thêm http://stackoverflow.com/a/5097437/6309 – VonC

+0

Bạn có thể thực hiện điều này dễ dàng với bitbucket. – Malcolm

Trả lời

6

Không có cách nào để thực hiện quyền cấp chi nhánh trên Github, nhưng the gitolite project hỗ trợ những gì bạn đang tìm kiếm.

+1

cũng có thể, nhưng tôi không thể nói với lộ trình các tính năng mà Github dự định triển khai. Đó là kỹ thuật có thể, nhưng tôi không biết nếu Github dự định sẽ hỗ trợ nó – brycemcd

+0

kể từ khi tôi đăng này cách đây vài năm, @ VonC của trông giống như nó hoạt động cho Github. Gitlab cũng hỗ trợ các nhánh được bảo vệ. – brycemcd

13

Bạn thực sự có thể (loại), kể từ tháng Chín năm 2015.

Đó là bởi vì bây giờ bạn có "Protected branches and required status checks" (03 tháng 9 năm 2015), cho phép bạn bảo vệ một chi nhánh:

  • chống lại buộc phải đẩy
  • khỏi việc xoá bỏ
  • chống lại những thay đổi cho đến khi sáp nhập cần kiểm tra tình trạng vượt qua

Như đã đề cập in the twitter discussion:

@github tốt đẹp, những gì về bảo vệ từ đẩy và chỉ cho phép hoạt động thông qua các yêu cầu kéo?

Adam ROBEN @aroben @ lowl4tency Bạn có thể làm điều này thông qua API Tình trạng:
tạo ra một "success" tình trạng chỉ trên cam kết trong PRs, sau đó đánh dấu trạng thái mà theo yêu cầu
.

https://cloud.githubusercontent.com/assets/25792/9596474/27db3ce6-502a-11e5-9b19-5b47a8addc65.png


Since Nov. 2015, bạn có thể bảo vệ một chi nhánh với API:

curl "https://api.github.com/repos/github/hubot/branches/master" \ 
    -XPATCH \ 
    -H 'Authorization: token TOKEN' 
    -H "Accept: application/vnd.github.loki-preview" \ 
    -d '{ 
    "protection": { 
     "enabled": true, 
     "required_status_checks": { 
     "enforcement_level": "everyone", 
     "contexts": [ 
      "required-status" 
     ] 
     } 
    } 
    }' 

Làm thế nào tôi có thể thử nó?

Để truy cập chức năng này trong khoảng thời gian xem trước, bạn sẽ cần phải cung cấp các loại phương tiện truyền thông tùy chỉnh sau trong tiêu đề Chấp nhận:

application/vnd.github.loki-preview+json 

Since March 2016, Tổ chức bây giờ có thể xác định các thành viên và các đội có thể đẩy tới chi nhánh được bảo vệ.

https://cloud.githubusercontent.com/assets/4719/14140705/ed98abac-f67a-11e5-951e-b48c842fb77f.png

Các vấn đề liên quan