Foros del Web » Programando para Internet » GIT »

Git Workflow

Estas en el tema de Git Workflow en el foro de GIT en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 05/03/2013, 21:21
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 3 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.
  #2 (permalink)  
Antiguo 06/03/2013, 11:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Git Workflow

Pues yo lo veo muy bien, sólo se me ocurren tres detalles más.

a) No usar pull, para eso es mejor fetch + rebase.

b) No es necesario mezclar develop con master sólo para hacer deploy, al menos no en la etapa donde es posible esperar por errores.

En esa parte es conveniente empujar directamente develop como si fuera master, para no crear commits innecesarios, ya que el baile de los parches bien podría llevarse en develop únicamente.

Código BASH:
Ver original
  1. git push production develop:master

c) Eventualmente y por feature, o grupo de features es conveniente hacer rebase interactivo, para reducir la cantidad de commits y tener un historial más limpio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: proceso
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:04.