2011-09-23 10 views
10

Czy istnieje sposób, aby ustawić konkretną gałąź w GitHub na tylko ciągnącą (tylko do odczytu) lub czy mogę ustawić to tylko dla całego repozytorium?Czy mogę określić konkretną gałąź w GitHub tylko do przeciągania (tylko do odczytu)?

+1

pytasz, czy to możliwe, aby nie pozwolić na popychanie na konkretnych oddziałów? – Paragon

+0

Zobacz także http://stackoverflow.com/a/5097437/6309 – VonC

+0

Możesz to zrobić z łatwością za pomocą bitbucket. – Malcolm

Odpowiedz

6

Nie ma sposobu, aby zrobić uprawnienia na poziomie gałęzi na Githubie, ale the gitolite project obsługuje to, czego szukasz.

+1

cóż, jest to możliwe, ale nie mogę mówić do mapy drogowej funkcji, które Github zamierza wdrożyć. Jest to technicznie możliwe, ale nie wiem, czy Github zamierza go wesprzeć – brycemcd

+0

odkąd opublikowałem to kilka lat temu, @ VonC wygląda na to, że działa dla Github. Gitlab obsługuje również chronione gałęzie. – brycemcd

13

rzeczywiście może (w pewnym sensie), od września 2015 r

To dlatego, że masz teraz "Protected branches and required status checks" (3 września 2015), co pozwala chronić Branża:

  • przeciwko zmuszony pchnął
  • przed usunięciem
  • przeciwko scalonych zmian aż przechodzą wymagane kontrole stanu

Jak wspomniano in the twitter discussion:

@github ładne, a co chroni przed wystarczy nacisnąć i pozwalają jedynie działając poprzez wniosków ciągnąć?

Adam Roben @aroben @ lowl4tency Można to zrobić za pośrednictwem interfejsu API STAN:
stworzyć stan "success" tylko on popełnia w PRS następnie zaznaczyć ten status zgodnie z wymaganiami
.

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


Since Nov. 2015 można chronić swój oddział z 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" 
     ] 
     } 
    } 
    }' 

Jak mogę spróbować?

Aby uzyskać dostęp do tej funkcji w okresie podglądu, musisz podać następujące niestandardowy typ nośnika w nagłówku Accept:

application/vnd.github.loki-preview+json 

Since March 2016, Organizacje mogą teraz określić, które z nami i zespoły są w stanie popchnąć do chronionego oddziału.

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