2012-03-12 12 views
5

He leído sobre Integration Manager Workflow, y parece muy adecuado para nuestro proceso de desarrollo (un desarrollador principal para el proyecto, que revisa el trabajo de otros desarrolladores antes de comprometerse con el repositorio del proyecto).Git Integration Manager Workflow: uno o varios repositorios?

Sin embargo, una cosa no está clara para mí. En esta visualización del libro Git Pro parece como si cada desarrollador tiene su propio repositorio (a distancia) para empujar a:

enter image description here

en this chapter (sección "Personas de la pequeña privada"), sin embargo, parecen usar ramas para lograr el mismo tipo de flujo de trabajo.

¿Es esto correcto? ¿Qué táctica deberíamos usar? sucursales o repositorios múltiples? Supongo que es más difícil mantener un cronograma de compromisos si extraes el trabajo de un repositorio diferente.

Respuesta

2

Puede usar el flujo de trabajo al que se ha vinculado, pero agrega un poco más de sobrecarga. La mayor ventaja es que puede trabajar de forma asíncrona y solo necesita acceder al servidor.

No tiene que usar repos públicos ni privados. Todavía puede tener un flujo de trabajo basado en extracción si tiene acceso a otros repositorios de desarrolladores, donde los desarrolladores se comprometen con sus repositorios locales y usted los extrae.

Así, por ejemplo. Say dev A está trabajando en branch featureA. Él se compromete con su característica de sucursal local A y le informa que "la característica A está lista ahora, puede sacarla". Aquí podría configurar su repositorio como un control remoto como "git remote add devA /path/to/devA/repo.git" y simplemente git pull devA featureA (o buscar primero, verificar el código y luego fusionar).

enter image description here

Por supuesto, esto supone que tiene acceso a sus repositorios a través de, por ejemplo, la red, ssh o http.

+0

Pero, ¿también es posible tener un repositorio central, con los desarrolladores que no son mantenedores solo presionando ramas adicionales, que el mantenedor luego se fusiona en el maestro? – Rijk

+0

Ah, su ejemplo es muy claro, gracias. ¿Este flujo de trabajo tiene alguna desventaja en comparación con hacer todo esto en un repositorio (por ejemplo, historial de commit perdidos, etc.)? – Rijk

+0

El problema es con git, nunca tienes un solo repositorio :) Los desarrolladores siempre tendrán un repositorio propio. Es solo cuestión de cómo quieres que parezca el repositorio DAG, es decir, quién empuja qué a qué repos, o quién saca qué, etc. ¿Tiene algún sentido? – ralphtheninja

1

Esta pregunta ha existido por un tiempo, pero el enfoque dado en la pregunta es válido. Se llama Forking Workflow. Bueno, es muy similar al anterior y parece coincidir en intención y propósito, pero al menos hay una buena reseña que debería aclarar la estrategia.

Cuestiones relacionadas