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?Cómo proteger "maestro" en github?
Respuesta
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 desea evitar esta limitación, yo personalmente ver dos opciones:
- que podría utilizar algún tipo de cometer ganchos, etc. para informar al menos a alguien que algo malo pasó
- Si Realmente necesita este control estricto, podría usar dos repositorios, uno que solo tenga su rama "maestra". Debería asegurarse de que solo su "persona" obtenga acceso de escritura al repositorio principal
Creo que es más fácil resolverlo 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.
actualización
GitHub now announced que se extenderá a todo 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.
El problema con el flujo de trabajo de forking/PR es que El miembro que tiene privilegios de "escritura" en el repositorio principal aún podría presionarlo. –
Nota: Protected branches and required status checks (3 de septiembre de 2015) le permitirá proteger una rama
- contra forzada empujado
- contra la eliminación
- contra los cambios fusionados hasta las comprobaciones de estado requeridos pasan
Desde marzo de 2016, como commented por Sander a continuación, usted tiene User and team restrictions
fusiona veces a una rama protegida es mejor dejar a un gestor de liberación o un equipo de personas responsables de la estabilidad de esa rama en particular . Las organizaciones ahora pueden especificar qué miembros y equipos pueden enviar a una sucursal protegida.
lástima, todavía no puede restringir el acceso de la sucursal a ciertos miembros ... Me encantaría esa función para la rama principal. –
Acepto, o al menos puedo restringir la fusión a administradores solo para ramas protegidas. – joeybloggs
@PratikBothra https://github.com/blog/2137-protected-branches-improvements Parece que es posible ahora. :) – Sander
- 1. Eliminar archivos del maestro en github
- 2. Incapaz de Git push maestro para Github
- 3. GitHub: ¿Se actualizará mi Fork cuando cambie el maestro?
- 4. Git - Cómo fusionar una rama remota en el maestro remoto
- 5. ¿Cuál es la diferencia entre "origen maestro" vs "origen/maestro"
- 6. ¿Cómo volver a 'maestro' con git?
- 7. ¿Cómo se configura setup.py para que tenga la instalación de pip del maestro de GitHub?
- 8. Cómo proteger WebFonts
- 9. Cómo proteger Elmah.axd?
- 10. Cómo proteger .NET DLL's
- 11. Cómo proteger "." ¿carbonizarse?
- 12. Cómo proteger dlls?
- 13. Cómo proteger CouchDB
- 14. ¿Cómo puedo saber si un DataSet es el maestro en una relación maestro/detalle en Delphi?
- 15. Git diff entre maestro y origen/maestro usando Netbeans
- 16. MonoTouch: Cómo proteger mi aplicación
- 17. cómo proteger mi sitio web
- 18. cómo proteger rb_todo todo en ruby
- 19. iPad: cómo proteger el contenido en UItextview?
- 20. Cómo "proteger" las llamadas AJAX?
- 21. Cómo proteger el token .ASPXAUTH
- 22. Cómo proteger el código Javascript?
- 23. ¿Cómo sincronizo el maestro y el origen/maestro usando egit en eclipse?
- 24. Cómo aprobar compromisos en Github
- 25. Proteger archivo PHP de acceso directo
- 26. maestro rechazado a distancia -> maestro (pre-recibir gancho declinó)
- 27. Maestro dual de MySQL
- 28. Git: forma más sencilla de aplastar compromete el maestro
- 29. Android Detalle Maestro
- 30. modo Org: proteger énfasis
Se trata de un proyecto privado? Si no es así, no es necesario que sean necesariamente colaboradores; pueden bifurcar y usar solicitudes de extracción exclusivamente (lo que exige un nivel de revisión de pseudocódigo para fusionar los cambios) – Daenyth
Github no es compatible con esta funcionalidad, pero si está buscando para soluciones similares: Los repositorios de Assembla admiten esto: http://blog.assembla.com/assemblablog/tabid/12618/bid/96330/Put-Down-Your-Forks-Introducing-Protected-Branches.aspx DIY - auto-hosting git: http://git-scm.com/book/ch7-4.html DIY - self-hosting mercurial: http://mercurial.selenic.com/wiki/AclExtension – Titas
Ver también http://stackoverflow.com/a/5097437/6309 – VonC