SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
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
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
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!

Contenu connexe

Tendances

High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
Albert Chen
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
Abdul Manaf
 

Tendances (20)

PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introduction
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.js
 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in Containers
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
 
Zero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesZero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best Practices
 
Packer by HashiCorp
Packer by HashiCorpPacker by HashiCorp
Packer by HashiCorp
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
 
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEA
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1Galera Cluster Best Practices for DBA's and DevOps Part 1
Galera Cluster Best Practices for DBA's and DevOps Part 1
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Integration tests: use the containers, Luke!
Integration tests: use the containers, Luke!Integration tests: use the containers, Luke!
Integration tests: use the containers, Luke!
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GITCONTINUOUS INTEGRATION WITH JENKINS AND GIT
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
 

Similaire à Introducción a GitFlow

Google y la revolucion Web - Julian Amaya - Dia IT
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
jdmal2001
 
Despliegue continuo en dev ops para multiples entornos de dync 365
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
Demian Raschkovan
 

Similaire à Introducción a GitFlow (20)

Flujos de trabajo y mejores prácticas en git
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 git
 
Flujo de trabajo básico con git
Flujo de trabajo básico con gitFlujo de trabajo básico con git
Flujo de trabajo básico con git
 
gitflow
gitflowgitflow
gitflow
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
Git Flow y GitOps
Git Flow y GitOpsGit Flow y GitOps
Git Flow y GitOps
 
Google y la revolucion Web - Julian Amaya - Dia IT
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
 
Más allá de Git add/commit/push
Más allá de Git add/commit/pushMás allá de Git add/commit/push
Más allá de Git add/commit/push
 
Git y github básico
Git y github básicoGit y github básico
Git y github básico
 
Despliegue continuo en dev ops para multiples entornos de dync 365
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
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
Mulesoft meetup_vlc_cicd
Mulesoft meetup_vlc_cicdMulesoft meetup_vlc_cicd
Mulesoft meetup_vlc_cicd
 
Introducció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 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
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
Los mejores trucos y prácticas para configurar drupal
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
 
Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para git
 
documento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptxdocumento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptx
 

Plus de Mauricio Gelves

Plus de Mauricio Gelves (20)

Segui questi 10 passi per diventare Freelance con WordPress
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
 
Simple tricks to improve the performance of your site
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
 
Gutenberg Blocks Development for Programmers with no time
Gutenberg Blocks Development for Programmers with no timeGutenberg Blocks Development for Programmers with no time
Gutenberg Blocks Development for Programmers with no time
 
WordPress: el mejor amigo para tu emprendimiento
WordPress: el mejor amigo para tu emprendimientoWordPress: el mejor amigo para tu emprendimiento
WordPress: el mejor amigo para tu emprendimiento
 
Sviluppo dei blocchi di Gutenberg per programmatori senza tempo
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
 
Gutenberg Blocks Development for Programmers with NO time
Gutenberg Blocks Development for Programmers with NO timeGutenberg Blocks Development for Programmers with NO time
Gutenberg Blocks Development for Programmers with NO time
 
Flexbox y Grid: Los mejores amigos del maquetador
Flexbox y Grid: Los mejores amigos del maquetadorFlexbox y Grid: Los mejores amigos del maquetador
Flexbox y Grid: Los mejores amigos del maquetador
 
Desarrollo de bloques de Gutenberg para programadores con poco tiempo
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
 
Código Bonito con PHP
Código Bonito con PHPCódigo Bonito con PHP
Código Bonito con PHP
 
Follow these 10 steps to become a freelancer with WordPress
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
 
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)
Domina el CSS de tu Web con la ténica BEM (bonito, elegante y molón)
 
10 pasos para convertirte en Freelance con WordPress
10 pasos para convertirte en Freelance con WordPress10 pasos para convertirte en Freelance con WordPress
10 pasos para convertirte en Freelance con WordPress
 
Gutenberg: Pros and Cons for this big change in WordPress
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
 
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ù.
Il database di WordPress: Dodici tabelle che servono per fare di tutto e di più.
 
Vive de vacaciones con WordPress
Vive de vacaciones con WordPressVive de vacaciones con WordPress
Vive de vacaciones con WordPress
 
Quiero aprender WordPress ¿Por donde empiezo?
Quiero aprender WordPress ¿Por donde empiezo?Quiero aprender WordPress ¿Por donde empiezo?
Quiero aprender WordPress ¿Por donde empiezo?
 
Vive de tus sueños con WordPress
Vive de tus sueños con WordPressVive de tus sueños con WordPress
Vive de tus sueños con WordPress
 
Taller de Iniciación a WordPress
Taller de Iniciación a WordPressTaller de Iniciación a WordPress
Taller de Iniciación a WordPress
 
WordPress Database: What's behind those 12 tables
WordPress Database: What's behind those 12 tablesWordPress Database: What's behind those 12 tables
WordPress Database: What's behind those 12 tables
 
La base de datos de WordPress
La base de datos de WordPressLa base de datos de WordPress
La base de datos de WordPress
 

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
  • 4.
  • 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
  • 31.
  • 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!