Introducción a GitFlow

Mauricio Gelves
Mauricio GelvesDesarrollador freelance de WordPress, WooCommerce y Frontend at maugelves.com
GitFlow: una técnica para facilitar el
desarrollo de tus proyectos Web
Mauricio Gelves - @maugelves
Mauricio Gelves
@maugelves
Licenciado en Informática
Desarrollador WordPress Freelance
Brand Ambassador en
Web: maugelves.com
YouTube: mauriciogelves
Instagram: @maugelves
Twitter: @maugelves
Mauricio Mariano
2003 - Profinsa
Norberto
(2,05m, jugador de rugby)
Producción
Desarrollo
Introducción a GitFlow
2012 - WordPress Software de Control de Versiones
html {
font-size: 100%;
scroll-behavior: smooth;
}
body {
background-image: url("src/img/background.svg");
background-repeat: no-repeat;
background-attachment: fixed;
color: $font-color-default;
font-family: $font-stack-sans-serif;
min-height: 100vh;
}
h1, h2, h3, h4, h5,h6 {
font-family: $font-stack-sans-serif;
}
style.scss
Mauricio
Mariano
★ Software de Control de Versiones
★ Software libre y gratuito
★ Se instala en tu computadora o
servidor
★ Software de Control de Versiones
★ Servicio gratis o de pago
★ Copia local y en la nube
Muchas herramientas pero
NO fija una metodología de trabajo
¿Por qué GitFlow?
★ Branches
★ clone, commit, stash, revert
★ push, pull, tag, checkout
★ status, reset
Diferencia con GitFlow
El Caos Con GitFlow
Vicent Driessen
★ Holandés, Ingeniero de Software
★ Presentó el GitFlow en 2010
★ Después de 10 años se sigue utilizando
★ Una metodología muy simple y práctica
Ramas de Develop y Master - GitFlow
Ejemplo de proyecto - GitFlow
Mauricio
Backend
Mariano
PM
María
Frontend
Sitio Web Institucional
Primeros pasos - GitFlow
Mauricio
Backend
Mauricio se va encargar de crear el repositorio y las ramas
principales: «master» y «develop»
Mauricio
Backend
git clone https://github.com/maugelves/new-website.git
git checkout -b develop
git push -u origin develop
Ramas de Features - GitFlow
María
Frontend
María se encargará de crear la hoja de estilo de la Web
feature/create-stylesheet
Mauricio
Backend
Mauricio se encargará de crear la estructura básica de ficheros
feature/website-scaffold
Ramas de Features - GitFlow
María
Frontend
git checkout develop
git checkout -b feature/create-stylesheet
Mauricio
Backend
git checkout develop
git checkout -b feature/website-scaffold
Ramas de Features - GitFlow
Funciones de Merge - GitFlow
María
Frontend
María aún le quedan dos días de trabajo para finalizar
feature/create-stylesheet
Mauricio
Backend
Mauricio ya terminó y va a subir sus cambios
feature/website-scaffold
Funciones de Merge - GitFlow
Mauricio
Backend
git checkout develop
git merge feature/website-scaffold
Funciones de Merge - GitFlow
Funciones de Merge - GitFlow
María
Frontend
Cuando María termine, tendrá que hacer primero un pull para
traer todos los cambios realizados por Mauricio.
Git le dará un error si intenta fusionar con «develop».
Ramas de Features - GitFlow
María
Frontend
git checkout develop
git pull
git merge -b feature/create-stylesheet
★ Conjunto de nuevas funcionalidades
★ O bien en una fecha determinada
★ Lo ideal es planificar un release con
metodologías ágiles
Rama Release - GitFlow
Mariano determina que hay un buen número de funcionalidades
y decide crear una nueva rama de release.
release/1.0.0Mariano
PM
git checkout develop
git checkout -b release/1.0.0
Mariano
PM
Rama Release - GitFlow
Rama de Release - GitFlow
★ En esta rama se darán los últimos retoques
★ Tareas de documentación
★ Solucionar bugs
★ Otras tareas de publicación
★ Pero NUNCA nuevas funcionalidades
Rama de Release - GitFlow
Pueden seguir trabajando…
Rama de Release - GitFlow
Rama de Release - GitFlow
★ Cuando el «release» está listo, se fusiona
con la «master» y «develop»
★ Se etiqueta la publicación en la rama
«master»
★ Luego se elimina la rama «release»
Mariano termina todas las tareas del «release/1.0.0»
Fusionará en «master» con una etiqueta
Fusionará en «develop»
Borrará la rama «release/1.0.0»
Mariano
PM
git checkout master
git merge release/1.0.0
git tag v1.0.0
Mariano
PM
Rama Release - GitFlow
git checkout develop
git merge release
git branch -D release/1.0.0
Introducción a GitFlow
Mariano reenvía el email a Mauricio y autoriza a implementar
un «hotfix»
Mariano
PM
Mauricio
Backend
Mauricio crea una rama «hotfix» y comienza a desarrollar
la solucón del bug
hotfix/contact-is-not-working
Mauricio
Backend
git checkout master
git checkout -b hotfix/contact-not-working
Rama Hotfix - GitFlow
Rama Hotfix - GitFlow
Rama «hotfix» - GitFlow
★ Es la única rama que se crea directamente de «master»
★ Una vez resuelto, se fusiona en «master» y «develop»
★ «master» se etiqueta con un número de versión
★ Se elimina la rama «hotfix»
Rama Hotfix - GitFlow
Las 7 reglas del GitFlow
★ Se crea una rama «develop» a partir de «master»
★ Las ramas «feature» se crean a partir de «develop»
★ Cuando el «feature» está listo se fusiona solo en «develop»
★ Una rama «release» se crea a partir de la «develop»
★ Cuando la rama «release» está lista, se fusiona en «master» y «develop»
★ Si hay una incidencia grave en producción, se crea una rama «hotfix» a partir
de «master»
★ Una vez resuelta, se fusiona el «hotfix» en «develop» y «master»
Por qué usar GitFlow
★ Es una metodología probada y utilizada por más de 10 años
★ Mayor independencia entre los equipos de desarrolladores
★ Podemos hibernar una funcionalidad y continuar con otra de mayor
prioridad.
★ Se tiene un mejor control de los entregables
★ Se pueden aplicar cambios ante posibles fallos graves (amén !)
Cuando utilizar GitFlow
★ El equipo de trabajo está conformado por más de dos personas
★ Se emplean metodologías ágiles
★ El proyecto tiene cambios frecuentes pero se quiere tener control
del proyecto
★ El proyecto tiene un nivel de complejidad considerable
★ Se desea tener un proceso de soporte a errores efectivo con
actualizaciones rápidas
Herramientas GitFlow
Github for Desktop
Sourcetree
Herramientas GitFlow
Consola
Ya no hay excusas ante el famoso
«…es que alguien pisó mi código…»
Muchas gracias¡Y larga vida a los proyectos Open Source! ¡Pura Vida!
1 of 43

Recommended

Git branching strategies by
Git branching strategiesGit branching strategies
Git branching strategiesjstack
5.2K views21 slides
Introduction to Git by
Introduction to GitIntroduction to Git
Introduction to GitYan Vugenfirer
14.4K views35 slides
Introduction to Git and Github by
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github Max Claus Nunes
1.8K views46 slides
Git flow Introduction by
Git flow IntroductionGit flow Introduction
Git flow IntroductionDavid Paluy
9.4K views15 slides
A Git Workflow Model or Branching Strategy by
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
607 views17 slides
Git Branching for Agile Teams by
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
28.8K views93 slides

More Related Content

What's hot

Git flow for daily use by
Git flow for daily useGit flow for daily use
Git flow for daily useMediacurrent
8K views23 slides
Git and GitHub by
Git and GitHubGit and GitHub
Git and GitHubMd. Ahsan Habib Nayan
1.2K views50 slides
A Practical Introduction to git by
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to gitEmanuele Olivetti
4.8K views69 slides
Git flow by
Git flowGit flow
Git flowValerio Como
5.5K views13 slides
Git in 10 minutes by
Git in 10 minutesGit in 10 minutes
Git in 10 minutesSafique Ahmed Faruque
1.6K views13 slides
Git and GitHub workflows by
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflowsArthur Shvetsov
3K views31 slides

What's hot(20)

Introduction to git flow by Knoldus Inc.
Introduction to git flowIntroduction to git flow
Introduction to git flow
Knoldus Inc.288 views
A successful Git branching model by abodeltae
A successful Git branching model A successful Git branching model
A successful Git branching model
abodeltae1.1K views
Git and git workflow best practice by Majid Hosseini
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
Majid Hosseini3.7K views
Git slides by Nanyak S
Git slidesGit slides
Git slides
Nanyak S287 views
Git One Day Training Notes by glen_a_smith
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
glen_a_smith3.5K views
工程師必備第一工具 - Git by Alan Tsai
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - Git
Alan Tsai83K views
Introduction To Git For Version Control Architecture And Common Commands Comp... by SlideTeam
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
SlideTeam313 views
Git real slides by Lucas Couto
Git real slidesGit real slides
Git real slides
Lucas Couto3.5K views
GIT presentation by Naim Latifi
GIT presentationGIT presentation
GIT presentation
Naim Latifi35.4K views

Similar to Introducción a GitFlow

Flujos de trabajo y mejores prácticas en git by
Flujos de trabajo y mejores prácticas en gitFlujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en gitLuis Eduardo Jiménez Robles
510 views37 slides
Flujo de trabajo básico con git by
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con gitJan Sanchez
3.1K views27 slides
Version Management Escogiendo Branching Strategy en un entorno de Integració... by
Version Management  Escogiendo Branching Strategy en un entorno de Integració...Version Management  Escogiendo Branching Strategy en un entorno de Integració...
Version Management Escogiendo Branching Strategy en un entorno de Integració...César Martín Ortiz Pintado
151 views19 slides
gitflow by
gitflowgitflow
gitflowDaniel Alejandro Acero Varela
122 views13 slides
Control de versiones utilizando Git by
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
1.5K views47 slides
Git + Github - Sysmana 2014 by
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014quaip
1.2K views43 slides

Similar to Introducción a GitFlow(20)

Flujo de trabajo básico con git by Jan Sanchez
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con git
Jan Sanchez3.1K views
Git + Github - Sysmana 2014 by quaip
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
quaip1.2K views
Google y la revolucion Web - Julian Amaya - Dia IT by jdmal2001
Google y la revolucion Web - Julian Amaya  - Dia ITGoogle y la revolucion Web - Julian Amaya  - Dia IT
Google y la revolucion Web - Julian Amaya - Dia IT
jdmal2001780 views
Más allá de Git add/commit/push by Alexis Lopez
Más allá de Git add/commit/pushMás allá de Git add/commit/push
Más allá de Git add/commit/push
Alexis Lopez1.4K views
Despliegue continuo en dev ops para multiples entornos de dync 365 by Demian Raschkovan
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365
Dev ops infraestructura agil con open source by scrumecuador
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
scrumecuador2K views
Uso practico de git by Keopx
Uso practico de gitUso practico de git
Uso practico de git
Keopx 1.3K views
Introducción al desarrollo de software en comunidad con forja de software y git by DrPantera
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y git
DrPantera350 views
Los mejores trucos y prácticas para configurar drupal by SiteGround España
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
SiteGround España1.3K views

More from Mauricio Gelves

Segui questi 10 passi per diventare Freelance con WordPress by
Segui questi 10 passi per diventare Freelance con WordPressSegui questi 10 passi per diventare Freelance con WordPress
Segui questi 10 passi per diventare Freelance con WordPressMauricio Gelves
230 views26 slides
Simple tricks to improve the performance of your site by
Simple tricks to improve the performance of your siteSimple tricks to improve the performance of your site
Simple tricks to improve the performance of your siteMauricio Gelves
321 views22 slides
Gutenberg Blocks Development for Programmers with no time by
Gutenberg Blocks Development for Programmers with no timeGutenberg Blocks Development for Programmers with no time
Gutenberg Blocks Development for Programmers with no timeMauricio Gelves
196 views12 slides
WordPress: el mejor amigo para tu emprendimiento by
WordPress: el mejor amigo para tu emprendimientoWordPress: el mejor amigo para tu emprendimiento
WordPress: el mejor amigo para tu emprendimientoMauricio Gelves
1K views37 slides
Sviluppo dei blocchi di Gutenberg per programmatori senza tempo by
Sviluppo dei blocchi di Gutenberg per programmatori senza tempoSviluppo dei blocchi di Gutenberg per programmatori senza tempo
Sviluppo dei blocchi di Gutenberg per programmatori senza tempoMauricio Gelves
285 views19 slides
Gutenberg Blocks Development for Programmers with NO time by
Gutenberg Blocks Development for Programmers with NO timeGutenberg Blocks Development for Programmers with NO time
Gutenberg Blocks Development for Programmers with NO timeMauricio Gelves
290 views19 slides

More from Mauricio Gelves(20)

Segui questi 10 passi per diventare Freelance con WordPress by Mauricio Gelves
Segui questi 10 passi per diventare Freelance con WordPressSegui questi 10 passi per diventare Freelance con WordPress
Segui questi 10 passi per diventare Freelance con WordPress
Mauricio Gelves230 views
Simple tricks to improve the performance of your site by Mauricio Gelves
Simple tricks to improve the performance of your siteSimple tricks to improve the performance of your site
Simple tricks to improve the performance of your site
Mauricio Gelves321 views
Gutenberg Blocks Development for Programmers with no time by Mauricio Gelves
Gutenberg Blocks Development for Programmers with no timeGutenberg Blocks Development for Programmers with no time
Gutenberg Blocks Development for Programmers with no time
Mauricio Gelves196 views
WordPress: el mejor amigo para tu emprendimiento by Mauricio Gelves
WordPress: el mejor amigo para tu emprendimientoWordPress: el mejor amigo para tu emprendimiento
WordPress: el mejor amigo para tu emprendimiento
Mauricio Gelves1K views
Sviluppo dei blocchi di Gutenberg per programmatori senza tempo by Mauricio Gelves
Sviluppo dei blocchi di Gutenberg per programmatori senza tempoSviluppo dei blocchi di Gutenberg per programmatori senza tempo
Sviluppo dei blocchi di Gutenberg per programmatori senza tempo
Mauricio Gelves285 views
Gutenberg Blocks Development for Programmers with NO time by Mauricio Gelves
Gutenberg Blocks Development for Programmers with NO timeGutenberg Blocks Development for Programmers with NO time
Gutenberg Blocks Development for Programmers with NO time
Mauricio Gelves290 views
Flexbox y Grid: Los mejores amigos del maquetador by Mauricio Gelves
Flexbox y Grid: Los mejores amigos del maquetadorFlexbox y Grid: Los mejores amigos del maquetador
Flexbox y Grid: Los mejores amigos del maquetador
Mauricio Gelves668 views
Desarrollo de bloques de Gutenberg para programadores con poco tiempo by Mauricio Gelves
Desarrollo de bloques de Gutenberg para programadores con poco tiempoDesarrollo de bloques de Gutenberg para programadores con poco tiempo
Desarrollo de bloques de Gutenberg para programadores con poco tiempo
Mauricio Gelves458 views
Follow these 10 steps to become a freelancer with WordPress by Mauricio Gelves
Follow these 10 steps to become a freelancer with WordPressFollow these 10 steps to become a freelancer with WordPress
Follow these 10 steps to become a freelancer with WordPress
Mauricio Gelves1.7K views
Domina el CSS de tu Web con la ténica BEM (bonito, elegante y molón) by Mauricio Gelves
Domina el CSS de tu Web con la ténica BEM (bonito, elegante y molón) Domina el CSS de tu Web con la ténica BEM (bonito, elegante y molón)
Domina el CSS de tu Web con la ténica BEM (bonito, elegante y molón)
Mauricio Gelves281 views
10 pasos para convertirte en Freelance con WordPress by Mauricio Gelves
10 pasos para convertirte en Freelance con WordPress10 pasos para convertirte en Freelance con WordPress
10 pasos para convertirte en Freelance con WordPress
Mauricio Gelves655 views
Gutenberg: Pros and Cons for this big change in WordPress by Mauricio Gelves
Gutenberg: Pros and Cons for this big change in WordPressGutenberg: Pros and Cons for this big change in WordPress
Gutenberg: Pros and Cons for this big change in WordPress
Mauricio Gelves322 views
Il database di WordPress: Dodici tabelle che servono per fare di tutto e di più. by Mauricio Gelves
Il database di WordPress: Dodici tabelle che servono per fare di tutto e di più.Il database di WordPress: Dodici tabelle che servono per fare di tutto e di più.
Il database di WordPress: Dodici tabelle che servono per fare di tutto e di più.
Mauricio Gelves328 views
Vive de vacaciones con WordPress by Mauricio Gelves
Vive de vacaciones con WordPressVive de vacaciones con WordPress
Vive de vacaciones con WordPress
Mauricio Gelves111 views
Quiero aprender WordPress ¿Por donde empiezo? by Mauricio Gelves
Quiero aprender WordPress ¿Por donde empiezo?Quiero aprender WordPress ¿Por donde empiezo?
Quiero aprender WordPress ¿Por donde empiezo?
Mauricio Gelves335 views
Vive de tus sueños con WordPress by Mauricio Gelves
Vive de tus sueños con WordPressVive de tus sueños con WordPress
Vive de tus sueños con WordPress
Mauricio Gelves299 views
Taller de Iniciación a WordPress by Mauricio Gelves
Taller de Iniciación a WordPressTaller de Iniciación a WordPress
Taller de Iniciación a WordPress
Mauricio Gelves283 views
WordPress Database: What's behind those 12 tables by Mauricio Gelves
WordPress Database: What's behind those 12 tablesWordPress Database: What's behind those 12 tables
WordPress Database: What's behind those 12 tables
Mauricio Gelves726 views
La base de datos de WordPress by Mauricio Gelves
La base de datos de WordPressLa base de datos de WordPress
La base de datos de WordPress
Mauricio Gelves2.3K views

Recently uploaded

Dominios De Internet.docx by
Dominios De Internet.docxDominios De Internet.docx
Dominios De Internet.docxbzuritav
8 views4 slides
Instalación de los equipos de red .pdf by
Instalación de los equipos de red .pdfInstalación de los equipos de red .pdf
Instalación de los equipos de red .pdfJosé Manuel Chota Arévalo
10 views4 slides
PérezAraiza_Jafet_M1S2AI3.pptx by
PérezAraiza_Jafet_M1S2AI3.pptxPérezAraiza_Jafet_M1S2AI3.pptx
PérezAraiza_Jafet_M1S2AI3.pptxJorgeAntonioPrezLerm
8 views11 slides
Nirvana y su Disco de Nervermind by
Nirvana y su Disco de NervermindNirvana y su Disco de Nervermind
Nirvana y su Disco de Nervermindalexachavezramirez01
7 views8 slides
plataforma-virtual-udemy.pptx by
plataforma-virtual-udemy.pptxplataforma-virtual-udemy.pptx
plataforma-virtual-udemy.pptxJoyceLissette
8 views10 slides
MINI TEMA 9 ILUSTRADO.docx by
MINI TEMA 9 ILUSTRADO.docxMINI TEMA 9 ILUSTRADO.docx
MINI TEMA 9 ILUSTRADO.docxpalomamillan1106
6 views7 slides

Recently uploaded(20)

Dominios De Internet.docx by bzuritav
Dominios De Internet.docxDominios De Internet.docx
Dominios De Internet.docx
bzuritav8 views
Dominio de Internet.pdf by jaendonm
Dominio de Internet.pdfDominio de Internet.pdf
Dominio de Internet.pdf
jaendonm8 views
El Mejor Buscador en la Web del Mundo.pdf by gfmb504
El Mejor Buscador en la Web del Mundo.pdfEl Mejor Buscador en la Web del Mundo.pdf
El Mejor Buscador en la Web del Mundo.pdf
gfmb5047 views
Manual para publicar un grafico en SlideShare_Jose Diaz.pptx by josediazreyes823
Manual para publicar un grafico en SlideShare_Jose Diaz.pptxManual para publicar un grafico en SlideShare_Jose Diaz.pptx
Manual para publicar un grafico en SlideShare_Jose Diaz.pptx
josediazreyes82326 views
EXPRESIONES ALGEBRAICAS.pptx by durannakay7
EXPRESIONES ALGEBRAICAS.pptxEXPRESIONES ALGEBRAICAS.pptx
EXPRESIONES ALGEBRAICAS.pptx
durannakay710 views

Introducción a GitFlow

  • 1. GitFlow: una técnica para facilitar el desarrollo de tus proyectos Web Mauricio Gelves - @maugelves
  • 2. Mauricio Gelves @maugelves Licenciado en Informática Desarrollador WordPress Freelance Brand Ambassador en Web: maugelves.com YouTube: mauriciogelves Instagram: @maugelves Twitter: @maugelves
  • 3. Mauricio Mariano 2003 - Profinsa Norberto (2,05m, jugador de rugby) Producción Desarrollo
  • 5. 2012 - WordPress Software de Control de Versiones html { font-size: 100%; scroll-behavior: smooth; } body { background-image: url("src/img/background.svg"); background-repeat: no-repeat; background-attachment: fixed; color: $font-color-default; font-family: $font-stack-sans-serif; min-height: 100vh; } h1, h2, h3, h4, h5,h6 { font-family: $font-stack-sans-serif; } style.scss Mauricio Mariano
  • 6. ★ Software de Control de Versiones ★ Software libre y gratuito ★ Se instala en tu computadora o servidor ★ Software de Control de Versiones ★ Servicio gratis o de pago ★ Copia local y en la nube
  • 7. Muchas herramientas pero NO fija una metodología de trabajo ¿Por qué GitFlow? ★ Branches ★ clone, commit, stash, revert ★ push, pull, tag, checkout ★ status, reset
  • 8. Diferencia con GitFlow El Caos Con GitFlow
  • 9. Vicent Driessen ★ Holandés, Ingeniero de Software ★ Presentó el GitFlow en 2010 ★ Después de 10 años se sigue utilizando ★ Una metodología muy simple y práctica
  • 10. Ramas de Develop y Master - GitFlow
  • 11. Ejemplo de proyecto - GitFlow Mauricio Backend Mariano PM María Frontend Sitio Web Institucional
  • 12. Primeros pasos - GitFlow Mauricio Backend Mauricio se va encargar de crear el repositorio y las ramas principales: «master» y «develop»
  • 13. Mauricio Backend git clone https://github.com/maugelves/new-website.git git checkout -b develop git push -u origin develop
  • 14. Ramas de Features - GitFlow María Frontend María se encargará de crear la hoja de estilo de la Web feature/create-stylesheet Mauricio Backend Mauricio se encargará de crear la estructura básica de ficheros feature/website-scaffold
  • 15. Ramas de Features - GitFlow María Frontend git checkout develop git checkout -b feature/create-stylesheet Mauricio Backend git checkout develop git checkout -b feature/website-scaffold
  • 16. Ramas de Features - GitFlow
  • 17. Funciones de Merge - GitFlow María Frontend María aún le quedan dos días de trabajo para finalizar feature/create-stylesheet Mauricio Backend Mauricio ya terminó y va a subir sus cambios feature/website-scaffold
  • 18. Funciones de Merge - GitFlow Mauricio Backend git checkout develop git merge feature/website-scaffold
  • 19. Funciones de Merge - GitFlow
  • 20. Funciones de Merge - GitFlow María Frontend Cuando María termine, tendrá que hacer primero un pull para traer todos los cambios realizados por Mauricio. Git le dará un error si intenta fusionar con «develop».
  • 21. Ramas de Features - GitFlow María Frontend git checkout develop git pull git merge -b feature/create-stylesheet
  • 22. ★ Conjunto de nuevas funcionalidades ★ O bien en una fecha determinada ★ Lo ideal es planificar un release con metodologías ágiles Rama Release - GitFlow
  • 23. Mariano determina que hay un buen número de funcionalidades y decide crear una nueva rama de release. release/1.0.0Mariano PM
  • 24. git checkout develop git checkout -b release/1.0.0 Mariano PM Rama Release - GitFlow
  • 25. Rama de Release - GitFlow
  • 26. ★ En esta rama se darán los últimos retoques ★ Tareas de documentación ★ Solucionar bugs ★ Otras tareas de publicación ★ Pero NUNCA nuevas funcionalidades Rama de Release - GitFlow
  • 27. Pueden seguir trabajando… Rama de Release - GitFlow
  • 28. Rama de Release - GitFlow ★ Cuando el «release» está listo, se fusiona con la «master» y «develop» ★ Se etiqueta la publicación en la rama «master» ★ Luego se elimina la rama «release»
  • 29. Mariano termina todas las tareas del «release/1.0.0» Fusionará en «master» con una etiqueta Fusionará en «develop» Borrará la rama «release/1.0.0» Mariano PM
  • 30. git checkout master git merge release/1.0.0 git tag v1.0.0 Mariano PM Rama Release - GitFlow git checkout develop git merge release git branch -D release/1.0.0
  • 32. Mariano reenvía el email a Mauricio y autoriza a implementar un «hotfix» Mariano PM Mauricio Backend Mauricio crea una rama «hotfix» y comienza a desarrollar la solucón del bug hotfix/contact-is-not-working
  • 33. Mauricio Backend git checkout master git checkout -b hotfix/contact-not-working Rama Hotfix - GitFlow
  • 34. Rama Hotfix - GitFlow
  • 35. Rama «hotfix» - GitFlow ★ Es la única rama que se crea directamente de «master» ★ Una vez resuelto, se fusiona en «master» y «develop» ★ «master» se etiqueta con un número de versión ★ Se elimina la rama «hotfix»
  • 36. Rama Hotfix - GitFlow
  • 37. Las 7 reglas del GitFlow ★ Se crea una rama «develop» a partir de «master» ★ Las ramas «feature» se crean a partir de «develop» ★ Cuando el «feature» está listo se fusiona solo en «develop» ★ Una rama «release» se crea a partir de la «develop» ★ Cuando la rama «release» está lista, se fusiona en «master» y «develop» ★ Si hay una incidencia grave en producción, se crea una rama «hotfix» a partir de «master» ★ Una vez resuelta, se fusiona el «hotfix» en «develop» y «master»
  • 38. Por qué usar GitFlow ★ Es una metodología probada y utilizada por más de 10 años ★ Mayor independencia entre los equipos de desarrolladores ★ Podemos hibernar una funcionalidad y continuar con otra de mayor prioridad. ★ Se tiene un mejor control de los entregables ★ Se pueden aplicar cambios ante posibles fallos graves (amén !)
  • 39. Cuando utilizar GitFlow ★ El equipo de trabajo está conformado por más de dos personas ★ Se emplean metodologías ágiles ★ El proyecto tiene cambios frecuentes pero se quiere tener control del proyecto ★ El proyecto tiene un nivel de complejidad considerable ★ Se desea tener un proceso de soporte a errores efectivo con actualizaciones rápidas
  • 40. Herramientas GitFlow Github for Desktop Sourcetree
  • 42. Ya no hay excusas ante el famoso «…es que alguien pisó mi código…»
  • 43. Muchas gracias¡Y larga vida a los proyectos Open Source! ¡Pura Vida!