Estoy tratando de averiguar el flujo de trabajo adecuado para esta situación:¿Corregir el flujo de trabajo de Git para la rama de funciones compartidas?
En el repositorio compartido, tenemos estas ramas:
-master
-feature
El función rama es un compartían rama, ya que muchos los desarrolladores están trabajando en una nueva característica juntos. Están impulsando activamente sus cambios a la rama de características.
que estoy tratando de evitar el 'infierno conflicto' para el día que función finalmente consigue incluido de nuevo en maestro. Actualmente, veo algunas opciones:
1) fusionar activamente maestro en función , y hacerlo a menudo. Sin embargo, esto no se recomienda en los documentos de Git, y estoy empezando a ver por qué. Cuando intento esto, parece que soluciono los mismos conflictos una y otra vez.
2) Use rebase de alguna manera. He leído sobre esto, pero parece que no funcionará ya que la función se comparte. Todo lo que se necesita es un desarrollador para hacer 2 rebases, y otros desarrolladores podrían tener conflictos de historial no coincidente.
3) Girar la función se ramifican en una rama de la integración, y tienen los desarrolladores utilizar sus propias ramas de características independientes con cambio de base para mantener las cosas en su sano juicio.
4) ¿Algo completamente diferente?
Creo que es una buena regla general que el desarrollo por lo general debería ocurrir en las ramas por desarrollador y las sucursales compartidas normalmente deberían ser solo para integración. –
No estoy muy familiarizado con el rebasamiento, así que haré esta pregunta: en este escenario, los usuarios fusionarían sus ramas privadas de nuevo en la función una sola vez (y crearían una nueva rama privada si necesitaran hacer más trabajo), ¿o es seguro para ellos fusionarse varias veces junto con el rebasamiento que están haciendo? – Ben
@Ben la idea de rebasar localmente es precisamente para permitir fusiones múltiples: dado que nunca publica su rama 'privada', puede volver a establecer una base antes de fusionar su trabajo a' característica' y presionarlo. Dicho esto, si se termina un esfuerzo de desarrollo determinado en una rama 'privada 'dada, es mejor hacer una nueva en lugar de intentar reutilizar la existente. La historia local sería más clara. – VonC