Workflow con Git y Source Tree
Sobre atSistemas
Atlassian Git Party
Source Tree
Atlassian Git Party
Puntos a tener en cuenta
� Solo para Mac (de momento)
� No permite alguna funcionalidad avanzadas:� Squasing
� Rebase interactivos
Atlassian Git Party
� Rebase interactivos
TRABAJANDO CON GIT
Trabajando con Git
Git es bueno trabajando con ramas…
¡ Hagamos ramas para cada
Atlassian Git Party
¡ Hagamos ramas para cadafuncionalidad / tarea!
Hagamos ramas
Master
Feature 1
Escenario A: Funcionalidades correctas
Feature 2
Atlassian Git Party
Aceptación OK
Aceptación OK Producción
Producción
Hagamos ramas
Master
Feature 1
Escenario B: Funcionalidad que falla
Feature 2
No se puede poner en
Atlassian Git Party
Aceptación Fallo
Aceptación OK Producción
No se puede poner en
producción porque
Feature 1 no funciona
Hagamos ramas
No basta solo con tener ramas por
funcionalidad…
Necesitamos un flujo de trabajo
Atlassian Git Party
Necesitamos un flujo de trabajo
que nos permita trabajar con los
diferentes estados de mi
desarrollo…
WORKFLOW DE GIT
Workflow
1) Dos ramas principales: Desarrollo y Master
MasterDesarrollo
Atlassian Git Party
Workflow: Opciones
Master
Feature 1
Desarrollo
2) Una rama por cada funcionalidad / tarea (local)
Feature 2Los desarrolladores
trabajan en ramas
Atlassian Git Party
Tag 0.1
Producción
Aceptación?
Aceptación?
ramas compartidas
Hagamos ramas
Master
Feature 1Feature 2Desarrollo
2) Una rama por cada funcionalidad / tarea (local)
Atlassian Git Party
Fallo
AceptaciónOk
Producción
Aceptación
Permite entrega continua
Workflow
3) Cada bug se resuelve en una rama independiente
MasterHotfixesDesarrollo
Tag 0.1
Atlassian Git Party
Tag 0.2
Incorporación
del bug en
Desarrollo
Producción
¡Manos a la obra!
Source Tree
Atlassian Git Party
Flujo Manager
Rol responsable de las subidas a master
MasterFeature 1Feature 2
Atlassian Git Party
Tag 0.1
Producción
Manager
Flujo Manager
1. El manager simula la rama de desarrollo.
2. Cada miembro del equipo hace de manager.
Atlassian Git Party
3. Solo el manager hace merge a master
RESUMEN
Recuerda
� SIEMPRE crea ramas desde master
� Funcionalidad terminada: Merge a desarrollo
Atlassian Git Party
� Funcionalidad aceptada: Merge a master o release
� Nunca merge o rebase master con tus ramas.
Puedes encontrar esta presentación en:
http://goo.gl/5oTUA
Atlassian Git Party
http://goo.gl/5oTUA
Recursos
� A successful Git branching model:
http://nvie.com/posts/a-successful-git-branching-model/
� Git flow:
https://github.com/nvie/gitflow
Atlassian Git Party
� Source Tree:
http://www.sourcetreeapp.com/