when - what is the command to delete a remote branch in git?
SoluciĆ³n elegante para evitar el empuje de fuerza solo en el maestro (5)
Actualizar
Github ha introducido desde entonces el concepto de ramas protegidas. Se puede encontrar en Settings
-> Branches
-> Protected Branches
Esta "protección" se puede habilitar para cualquier sucursal y para cualquier usuario, incluidos los administradores.
Más detalles aquí - https://help.github.com/articles/defining-the-mergeability-of-pull-requests/
No puedes evitar esto en Github.
Lo que puede hacer es tener un repositorio intermedio de su lado, ejecutar un gancho de pre-recepción para evitar empuje y empuje de fuerza de este repositorio intermedio a github y bloquear el acceso para el envío directo a github. Sí, esto no es elegante y pierdes muchas características con Github, pero no veo otra forma.
Editar: Acabo de encontrar esta respuesta, que dice lo mismo y da otra solución alternativa: GitHub: evitar que los colaboradores utilicen push -f
Estoy tratando de encontrar una buena manera de evitar que los desarrolladores fuercen al maestro con Git. Usamos GitHub para alojar nuestros repositorios remotos por lo que un gancho de pre-receive
no es una opción. ¿Alguna otra solución que podría implementarse fácilmente para un equipo de desarrolladores?
Como nota al margen, no quiero desactivar el empuje de fuerza en general. A veces es un mal necesario. Pero dicho eso, la fuerza que empuja al maestro no puede suceder.
En el caso de GitHub específicamente, es posible bloquear los empujes de fuerza, pero no es posible realizar este cambio por su cuenta. Deberá ponerse en contacto con el soporte ([email protected], https://github.com/contact ) para realizar el cambio en los repositorios que especifique.
No soy un experto de Github, pero creo que puedes hacer esto si usas las Organizations github.
Debería crear un equipo de Organización "Extraer solo" para los desarrolladores a quienes no se les permite presionar para dominar. En lugar de trabajar en el repositorio principal, bifurcan su repositorio principal y configuran sus repositorios locales para que se sincronicen con sus repositorios de horquilla. Cada vez que quieran enviar el código al repositorio principal, tendrían que insertar su código en el tenedor y enviar una solicitud de extracción.
Aquí es donde crea otro equipo de "Empujar y tirar" de la organización para los desarrolladores que pueden revisar y aprobar las solicitudes de extracción, y fusionarlas en su repositorio principal.
Básicamente, cada desarrollador solo está empujando a su propio tenedor, y nadie puede presionar al repositorio principal directamente (excepto el Equipo con acceso de inserción / extracción). Para que un empuje suceda en el repositorio principal, siempre debe pasar por una solicitud de extracción de un repositorio de horquilla.
[ACTUALIZAR] Github ahora proporciona la característica de "ramas protegidas" solo para este propósito.
Easy-peasy: obtenga la instalación de Github "Enterprise", luego siga las instrucciones a continuación: https://help.github.com/enterprise/2.1/admin/articles/blocking-force-pushes-to-a-repository/
Descargo de responsabilidad: esta fue una respuesta alucinante. Coloque una línea en https://github.com/contact y tal vez la gente de Github nos escuche y habilite esta opción para las masas.