2011-09-23 22 views

Respuesta

6

No hay forma de hacer permisos de nivel de rama en Github, pero the gitolite project es compatible con lo que está buscando.

+1

es posible, pero no puedo hablar de la hoja de ruta de las funciones que Github pretende implementar. Es técnicamente posible, pero no sé si Github tiene la intención de apoyarlo alguna vez – brycemcd

+0

ya que publiqué esto hace varios años, el diseño de @VonC parece que funciona para Github. Gitlab también admite ramas protegidas. – brycemcd

13

en realidad se puede (más o menos), desde septiembre de 2015.

Esto se debe a que ahora tiene "Protected branches and required status checks" (3 de septiembre, 2015), lo que le permite proteger una rama:

  • contra forzada empujado
  • contra el borrado
  • contra cambios fusionados hasta que pasan las comprobaciones de estado requeridos

Como se ha mencionado in the twitter discussion:

@github bien, ¿qué pasa con la protección de sólo empujar y sólo permiten operar a través de solicitudes de extracción?

Adam Roben @aroben @ lowl4tency Usted puede hacer esto a través de la API de estado:
crear un estado de "success" sólo en comete en RP, a continuación, marca que condición necesaria
.

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


Since Nov. 2015, puede proteger una rama con la 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" 
     ] 
     } 
    } 
    }' 

Como puedo probarlo?

Para acceder a esta funcionalidad durante el período de vista previa, tendrá que proporcionar la siguiente tipo de material personalizado en la cabecera Accept:

application/vnd.github.loki-preview+json 

Since March 2016, Las organizaciones pueden ahora especificar qué miembros y los equipos pueden pasar a una rama protegida.

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

Cuestiones relacionadas