05/03/2013, 21:21
|
| Colaborador | | Fecha de Ingreso: agosto-2008 Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 2 meses Puntos: 187 | |
Git Workflow Hola, en la empresa donde trabajos hemos encarado el proyecto de modernización de nuestros sistema de control de versiones.
Hemos dejado atrás a Visual Source Safe y empezamos a utilizar Git.
Quería consultarles a aquellos que lo utilizan en equipos de trabajo de varias personas, como es su proceso o workflow de trabajo? (en mi caso, lo he usado solo para proyectos personales, esta oportunidad es la primera que tengo para trabajar con Git en grupo)
Les cuento aproximadamente lo que tengo en mente y estoy a la búsqueda de sugerencias y correcciones.
En la empresa donde trabajo, utilizamos scrum para gestionar los proyectos y por lo tanto tenemos entregables y deploy a produccción cada ciclos 3 o 6 semanas.
Por una parte en el servidor remoto habrá dos ramas (master y develop). En donde master contendrá la versión estable actual y publicada en producción y en develop se encontrará lo nuevo que estamos desarrollando.
Por otra parte cada desarrollador creará a partir de develop una rama local en la cual desarrollará un requisito o feature puntual, la cual pueda manejarla a su antojo localmente para finalmente, una vez terminada (entiendase que funciona y se salvaron los conflictos), mezclarla (git merge) con develop.
Al iniciar el día cada desarrollador debe traer la ultima versión de develop (git pull) y llevar las actualizaciones hacia su rama de requisito (git rebase). Si los requisitos están correctamente diseñados no debería haber mayores conflictos.
Al terminarse un sprint (ciclo de 3 a 6 semanas), habiendose comiteados (git commit) y subidos (git push) todos los cambios a la rama develop se procede a mezclarla con master para su deploy.
De existir errores en producción (que los hay) realizaremos la corrección a través de una rama local de master en la cual se corregirá el problema puntual en producción se comiteará y subirá inmediatamente, al mismo tiempo que se mezclará esta rama con master.
El desarrollador que realize la corrección debe llevar los cambios a develop (git rebase) para que los demás desarrolladores al traer la última versión de develop ya tenga la corrección en sus ramas.
Disculpen la extensión del post pero se me dificultaba explicarlo en simple palabras.
Gracias de antemano por su colaboración. |