¿Deben los colaboradores en un repositorio privado de Github cada bifurcación del repositorio?

13

Estoy trabajando en un proyecto en este momento, y tenemos el código fuente en un repositorio privado en Github, con cada uno de nosotros como colaborador.

Lo que no tenemos claro es cómo separar cada uno de nuestros trabajos.

Lo que creo que debemos hacer es:

  1. Cada uno de nosotros debe bifurcar el repositorio
  2. Cuando estemos listos para enviar nuestro código, enviamos una solicitud de extracción al representante del líder del proyecto, quien puede al mismo tiempo usar esto como una oportunidad para hacer una revisión del código.

Cuando se trata de repositorios privados, ¿es para esto que se supone el uso de bifurcaciones o estoy complicando la situación?

    
pregunta JMK 07.12.2015 - 19:36

2 respuestas

6

La clonación del repositorio a la máquina local del desarrollador ya es un tipo de bifurcación. Si cada desarrollador revisa el repositorio en GitHub, esto solo sirve para publicar su estado actual de trabajo.

Esto puede ser apropiado cuando hay un repositorio maestro central y muchos contribuyentes que no son de confianza con acceso directo a ese repositorio. Esto funciona muy bien para proyectos de código abierto donde todos pueden contribuir y emitir una solicitud de extracción que luego es revisada y fusionada por un grupo de mantenedores principales. El uso de varios repositorios impone un flujo de trabajo basado en una solicitud de extracción.

En un equipo pequeño y confiable, esto no es necesario. Para evitar que diferentes personas se interpongan entre sí, se puede seguir una estrategia como Git Flow: cada pequeña función se implementa en una rama de características separada. Cuando la característica está completa, se fusiona en la rama maestra. La mayoría de los equipos unirán esto con una solicitud de extracción o revisión de código por convención, pero son lo suficientemente confiables para omitir eso si es apropiado. Mientras que los repositorios separados llevarían a un desarrollador a publicar su estado actual en sus repositorios bifurcados pero visibles para el equipo, en un solo repositorio común, empujarían sus cambios a una rama de características separada. Hacer todo el desarrollo en maestro / troncal no se recomienda en la mayoría de los flujos de trabajo.

La diferencia termina siendo únicamente acerca de la administración de acceso, y no tanto acerca del flujo de trabajo implementado. Puede realizar flujos de trabajo basados en solicitudes de extracción con cualquier configuración. Desde una perspectiva de Git sin procesar, no hay mucha diferencia entre una bifurcación y una sucursal; cualquiera de los dos enfoques esencialmente comparte el historial del proyecto y permite agregar compromisos sin afectar a otras sucursales / bifurcaciones. Teniendo en cuenta esto, sería mucho mejor compartir un solo repositorio en un grupo cerrado y de confianza.

    
respondido por el amon 07.12.2015 - 21:16
5

Esto funcionaría, o podría usar un método de bifurcación donde cada contrib tenga su propia (s) rama (s), que cuando el equipo esté de acuerdo, se fusione con el maestro.

    
respondido por el Margeaux Spring 07.12.2015 - 20:18

Lea otras preguntas en las etiquetas