SlideShare una empresa de Scribd logo
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!

Más contenido relacionado

La actualidad más candente

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Lukas Fittl
 
Git Rebase vs Merge
Git Rebase vs MergeGit Rebase vs Merge
Git Rebase vs Merge
Mariam Hakobyan
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
Krunal Doshi
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
Anwarul Islam
 
Git workflows
Git workflowsGit workflows
Git workflows
Xpand IT
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
Anurag Upadhaya
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
Pham Quy (Jack)
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
"FENG "GEORGE"" YU
 
git flow
git flowgit flow
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
Taisuke Inoue
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Git training v10
Git training v10Git training v10
Git training v10
Skander Hamza
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
GoogleDevelopersStud1
 
The Fundamentals of Git
The Fundamentals of GitThe Fundamentals of Git
The Fundamentals of Git
DivineOmega
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
Nishan Bose
 
GitLab.pptx
GitLab.pptxGitLab.pptx
GitLab.pptx
LeoulZewelde1
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
Arnaud Seilles
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
Noa Harel
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
xSawyer
 

La actualidad más candente (20)

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git Rebase vs Merge
Git Rebase vs MergeGit Rebase vs Merge
Git Rebase vs Merge
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
git flow
git flowgit flow
git flow
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Git training v10
Git training v10Git training v10
Git training v10
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
The Fundamentals of Git
The Fundamentals of GitThe Fundamentals of Git
The Fundamentals of Git
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
GitLab.pptx
GitLab.pptxGitLab.pptx
GitLab.pptx
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
 

Similar a Introducción a GitFlow

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
Luis Eduardo Jiménez Robles
 
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
Jan Sanchez
 
gitflow
gitflowgitflow
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
Hugo Gilmar Erazo
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
quaip
 
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
Leonidas Esteban González
 
Git Flow y GitOps
Git Flow y GitOpsGit Flow y GitOps
Git Flow y GitOps
Jose Luis Sánchez Rebollo
 
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
 
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
Alexis Lopez
 
Git y github básico
Git y github básicoGit y github básico
Git y github básico
Nelson Manuel Ordaz Yglesias
 
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
 
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
scrumecuador
 
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
Jorge Antonio Linares Vera
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
Keopx
 
Mulesoft meetup_vlc_cicd
Mulesoft meetup_vlc_cicdMulesoft meetup_vlc_cicd
Mulesoft meetup_vlc_cicd
Antonio Martínez Peiró
 
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
DrPantera
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
Mario Pérez Esteso
 
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
SiteGround España
 
Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para git
Miguel Angel Piña Avelino
 
documento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptxdocumento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptx
mauriciohernandezp1
 

Similar a 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
 

Más de Mauricio Gelves

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
Mauricio Gelves
 
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
Mauricio Gelves
 
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
Mauricio Gelves
 
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
Mauricio Gelves
 
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
Mauricio Gelves
 
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
Mauricio Gelves
 
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
Mauricio Gelves
 
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
Mauricio Gelves
 
Código Bonito con PHP
Código Bonito con PHPCódigo Bonito con PHP
Código Bonito con PHP
Mauricio Gelves
 
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
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)
Domina el CSS de tu Web con la ténica BEM (bonito, elegante y molón)
Mauricio Gelves
 
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
Mauricio Gelves
 
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
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ù.
Il database di WordPress: Dodici tabelle che servono per fare di tutto e di più.
Mauricio Gelves
 
Vive de vacaciones con WordPress
Vive de vacaciones con WordPressVive de vacaciones con WordPress
Vive de vacaciones con WordPress
Mauricio Gelves
 
Quiero aprender WordPress ¿Por donde empiezo?
Quiero aprender WordPress ¿Por donde empiezo?Quiero aprender WordPress ¿Por donde empiezo?
Quiero aprender WordPress ¿Por donde empiezo?
Mauricio Gelves
 
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
Mauricio Gelves
 
Taller de Iniciación a WordPress
Taller de Iniciación a WordPressTaller de Iniciación a WordPress
Taller de Iniciación a WordPress
Mauricio Gelves
 
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
Mauricio Gelves
 
La base de datos de WordPress
La base de datos de WordPressLa base de datos de WordPress
La base de datos de WordPress
Mauricio Gelves
 

Más 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
 

Último

Sesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artificalSesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artifical
Angeles del Rosario Escobar Mendoza
 
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdfextraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
JENNYMARITZAHUILLCAR
 
Análisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de ArtesAnálisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de Artes
al050121024
 
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docxCOMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
Jean Apellidos
 
Oruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico magoOruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico mago
ChichipeSevillaJhost
 
PPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales (2).pdf
PPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales  (2).pdfPPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales  (2).pdf
PPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales (2).pdf
josenestorlopezquisp1
 
MONOGRAFRIA GOOGLE (grupo 1ro de google).pdf
MONOGRAFRIA GOOGLE (grupo 1ro de google).pdfMONOGRAFRIA GOOGLE (grupo 1ro de google).pdf
MONOGRAFRIA GOOGLE (grupo 1ro de google).pdf
darilpisco021
 
APLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptxAPLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptx
cpadua713
 
SLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajasSLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajas
ruthechepurizaca
 
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidadESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
jorgejhonatanaltamir1
 
Oración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docxOración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docx
LuisAlbertoCordovaBa
 
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docxFICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
EmilyEsmeraldaQuispe
 
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNETCOMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
Kevin Aguilar Garcia
 
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
NoraRoberts5
 

Último (14)

Sesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artificalSesión N°10 / Monografía sobre la inteligencia artifical
Sesión N°10 / Monografía sobre la inteligencia artifical
 
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdfextraccion-de-alcaloides-de-la-planta-de-coca.pdf
extraccion-de-alcaloides-de-la-planta-de-coca.pdf
 
Análisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de ArtesAnálisis de Crowdfunding con el maestro Tapia de Artes
Análisis de Crowdfunding con el maestro Tapia de Artes
 
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docxCOMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
COMO EVOLUCIONO LAS WEB EN PLENO 2024.docx
 
Oruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico magoOruam, el pequeño y el gran carismatico mago
Oruam, el pequeño y el gran carismatico mago
 
PPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales (2).pdf
PPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales  (2).pdfPPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales  (2).pdf
PPT_QUÍMICA GENERAL_TEO_SEM-09_SESIÓN-17_2024_Gases ideales (2).pdf
 
MONOGRAFRIA GOOGLE (grupo 1ro de google).pdf
MONOGRAFRIA GOOGLE (grupo 1ro de google).pdfMONOGRAFRIA GOOGLE (grupo 1ro de google).pdf
MONOGRAFRIA GOOGLE (grupo 1ro de google).pdf
 
APLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptxAPLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptx
 
SLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajasSLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajas
 
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidadESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
ESTUDIANTES BENEFICIARIOS que se suman a los beneficios de la universidad
 
Oración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docxOración a Pomba Gira María Padilha .docx
Oración a Pomba Gira María Padilha .docx
 
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docxFICHA DE EDUCACIÓN RELIGIOSA  17 DE CTUBRE LA  oracion.docx
FICHA DE EDUCACIÓN RELIGIOSA 17 DE CTUBRE LA oracion.docx
 
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNETCOMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
COMUNIDADES DE APRENDIZAJE EN EL CURSO DE APLICACIONES PARA INTERNET
 
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
La revolución de Netflix redefiniendo las películas, la televisión, el arte y...
 

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!