git - who - protected branches
Cómo proteger "maestro" en github? (4)
Ahora podemos usar el archivo "CODEOWNERS" para exigir la revisión de los propietarios del código para validar una solicitud de extracción. Podemos establecer diferentes permisos basados en su cuenta de GitHub.
Tengo algunos colaboradores en mi proyecto github. Quiero permitir que solo uno de ellos "empuje" al maestro. Y este chico no soy yo (el dueño del repositorio). Es posible de hacer?
En aquel entonces, cuando se publicó esta pregunta, GitHub no le permitió especificar privilegios de acceso en un nivel de sucursal. Solo puedes hacerlo en un nivel de repositorio. Entonces, lo que está solicitando no fue posible.
Si quiere evitar esta limitación, personalmente veo dos opciones:
- podrías usar algún tipo de gancho de compromiso, etc. para al menos informarle a alguien que sucedió algo mal
- Si realmente necesita este control estricto, podría usar dos repositorios, uno solo sosteniendo su rama "principal". Debería asegurarse de que solo su "persona" obtenga acceso de escritura al repositorio principal
Creo que es más fácil resolver eso con cierta organización. En mi equipo, nunca presionamos nada directamente para dominar, sino que siempre creamos solicitudes de extracción. Eso asegura que al menos alguien mire antes de que el código se fusione y también podría definir una política que solo le permita a su "persona" fusionar las solicitudes de extracción.
Actualizar
GitHub ahora anunció que lanzarán una nueva característica llamada ramas protegidas. Esta característica ha estado presente en otras distribuciones de git como Atlassian Stash durante años. Te permitirá proteger algunas ramas de los empujes. Sin embargo, todavía no permite la protección completa basada en ACL de ramas individuales. Por lo tanto, es posible que desee verificar esta característica en caso de que no desee confiar en una solución de la organización como se describe anteriormente.
Esto es exactamente para lo que se diseñó la horquilla. Usted tendría el repositorio principal protegido, y permitiría permisos de lectura en ese repositorio para todos los contribuyentes. Esos contribuidores bifurcarían el repo, y empujarían sus cambios a sus copias personales del repo principal. Cuando estén listos para introducir el código en el repositorio principal, enviarán una solicitud de extracción al repositorio principal. En este caso, los propietarios del proyecto principal podrían completar la solicitud de extracción.
Nota: las ramas protegidas y las verificaciones de estado requeridas (3 de septiembre de 2015) le permitirán proteger una sucursal
- contra empujado forzado
- contra la eliminación
- contra cambios fusionados hasta que las verificaciones de estado requeridas pasen
Desde marzo de 2016, como commented Sander continuación, tiene restricciones de usuario y de equipo
A veces, las fusiones a una rama protegida se dejan en manos de un administrador de versiones o un equipo de personas responsable de la estabilidad de esa rama en particular. Las organizaciones ahora pueden especificar qué miembros y equipos pueden enviar a una sucursal protegida.