remota - github api tags
Deshabilitar el empuje a ramas específicas en GitHub (3)
Tengo algunos repositorios privados de Git en una cuenta de la compañía GitHub, y no quiero que nadie impulse algunas ramas específicas (como master, develop y beta o por patrón). También traté de definir algunos ganchos, pero quiero que esto se haga en GitHub y no con un gancho previo a los clientes.
Así que para explicar mi problema simplemente, quiero:
git push origin develop
para ser rechazado por el servidor (que es GitHub ) debido al nombre de la sucursal, pero no quiero que un cliente lo compruebe con un anzuelo previo al envío, realmente quiero que GitHub haga el cheque y lo rechace.
Además, si es posible permitir solo a ciertos usuarios hacerlo, pero deshabilitarlo para todos sería suficiente al principio.
Los ganchos que busca son pre-receive
y update
: el primero se ejecuta una vez por impulso, el último una vez por rama por impulso; pero importante, estos son ganchos en el lado del servidor .
Ok, recibí la respuesta de IRC después de una larga conversación. Tendré que trabajar con las bifurcaciones y las solicitudes de extracción, o agregar ganchos previos a la inserción en la máquina de cada desarrollador ya que GitHub no permite permisos por ramificación ni publicación previa de los ganchos de cancelación. Aquí está una parte de las respuestas que obtuve:
Bifurca el repositorio. entonces el desarrollador puede trabajar en su propia versión del repositorio y no tiene que preocuparse de comprometerse con la rama incorrecta. Y luego, alguien en sentido ascendente siempre puede fusionarse en cualquier rama en la que se deba comprometer.
Sí, pero somos una empresa y no queremos que todos nuestros desarrolladores tengan tenedores.
Por qué no?
Bueno, deberían ser capaces de impulsar su rama en un repositorio común para trabajar con otros desarrolladores en la misma característica, por ejemplo.
Lea a través de https://help.github.com/articles/using-pull-requests . Todavía puede enviar parches entre varias horquillas. Este es el modelo sobre el que se construyó git.
Lo sé, pero quiero poder ver rápidamente de manera central el trabajo real en cualquier característica / revisión, ...
Para abreviar una larga historia: GitHub no admite permisos por rama
Sé que esta publicación es bastante antigua, pero creo que aún puede ayudar a algunos de ustedes que están buscando una respuesta.
Bueno, ahora es posible en GitHub.
Recientemente, GitHub ha introducido la función Ramas protegidas , que lo hace posible:
Las ramas protegidas bloquean varias características de Git en una rama que un administrador de repositorio elige proteger. Una rama protegida:
- No se puede empujar a la fuerza
- No se puede eliminar
- No se pueden fusionar los cambios hasta que pasen las comprobaciones de estado requeridas
- No se pueden fusionar cambios hasta que se aprueben las revisiones requeridas
- No se puede editar o tener archivos cargados desde la web
Buena suerte.