Restringir ciertos usuarios de GitHub para fusionar sucursales

¿Es posible restringir ciertos usuarios de git para fusionar git branches en GitHub? Quiero permitir que los usuarios se comprometan, tiren y empujen los cambios en la twig actual , cambien a otra twig existente, pero no permitan fusionar las twigs. ¿Es posible en GitHub.com o en el repository autónomo de git?

No. La única manera de evitar cosas como esta son los ganchos de precompromiso o actualización de git. Esos ganchos llamados antes de empujar son aceptados.

GitHub en sí mismo no es compatible con pre-commit o actualizar hooks. Solo se admiten ganchos web. Pero estos se llaman después del empuje. Demasiado tarde para prevenir ciertos types.

Si su repository está dentro de una organización en Github, puede agregar los desarrolladores a un equipo de acceso de lectura. De esa manera pueden ver y verificar el repository pero no pueden comprometerse con él. También pueden bifurcar el repository, lo que les permite hacer su trabajo en el tenedor y luego enviar requestes de extracción para que su trabajo esté comprometido con el repository principal.

A continuación, puede otorgar acceso de escritura solo a ciertos desarrolladores que se encargarán de revisar y fusionar las requestes de extracción.

bitbucket admite permissions por twig que te ayudaría a evitar fusiones en tus sucursales. Echo de less esa característica en github

NO

Puede estar pensando esto debido al button "Merge Changes" de Github en una request de extracción. Pero eso es solo una cosa de conveniencia. Por ejemplo, si hay conflictos, ese button está deshabilitado, y tendría que fusionar manualmente los cambios en su máquina e insertlos en Github.

Entonces, si un usuario puede presionar cambios en una twig, ¿cómo le impediría combinar otra twig en su máquina y presionarla? Dado que ese tipo de restricción no existe en Github afaik, no podrás lograrlo.

Ah, pero siempre puedes pedir educadamente a tus usuarios que no fusionen sucursales;).

No estoy seguro de qué significa "repository autónomo de git", pero gitolite podría darle lo que desea:

"Ejemplo 2, un repository, pero diferentes niveles de acceso a diferentes twigs y tags para diferentes desarrolladores" – http://sitaramc.github.com/gitolite/why.html

Ver también Git: Trabajo en equipo en todas las sucursales sin permiso de Push