SlideShare a Scribd company logo
1 of 43
Download to read offline
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!

More Related Content

What's hot

Git workflows
Git workflowsGit workflows
Git workflowsXpand IT
 
Managing Terraform Module Versioning and Dependencies
Managing Terraform Module Versioning and Dependencies Managing Terraform Module Versioning and Dependencies
Managing Terraform Module Versioning and Dependencies Nebulaworks
 
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Codemotion
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction TutorialThomas Rausch
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHubVikram SV
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
PRACTICAS_INSTRUCTOR_CCNA_3 (1).pdf
PRACTICAS_INSTRUCTOR_CCNA_3 (1).pdfPRACTICAS_INSTRUCTOR_CCNA_3 (1).pdf
PRACTICAS_INSTRUCTOR_CCNA_3 (1).pdfjoabnegrete
 
Monitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixMonitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixGustavo Henrique
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with GitLuigi De Russis
 
Mikrofrontend a Module Federation
Mikrofrontend a Module FederationMikrofrontend a Module Federation
Mikrofrontend a Module FederationThe Software House
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedVinci Rufus
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드Insub Lee
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지jylee1229
 
파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥
파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥
파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥Seomgi Han
 

What's hot (20)

Git workflows
Git workflowsGit workflows
Git workflows
 
Managing Terraform Module Versioning and Dependencies
Managing Terraform Module Versioning and Dependencies Managing Terraform Module Versioning and Dependencies
Managing Terraform Module Versioning and Dependencies
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
PRACTICAS_INSTRUCTOR_CCNA_3 (1).pdf
PRACTICAS_INSTRUCTOR_CCNA_3 (1).pdfPRACTICAS_INSTRUCTOR_CCNA_3 (1).pdf
PRACTICAS_INSTRUCTOR_CCNA_3 (1).pdf
 
Monitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixMonitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com Zabbix
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
Mikrofrontend a Module Federation
Mikrofrontend a Module FederationMikrofrontend a Module Federation
Mikrofrontend a Module Federation
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지
 
Git flow
Git flowGit flow
Git flow
 
파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥
파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥
파이콘 한국 2019 - 파이썬으로 서버를 극한까지 끌어다 쓰기: Async I/O의 밑바닥
 

Similar to Introducción a GitFlow

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 gitJan Sanchez
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014quaip
 
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 frontendLeonidas Esteban González
 
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 ITjdmal2001
 
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/pushAlexis Lopez
 
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 365Demian 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 sourcescrumecuador
 
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 - DevAcademyJorge Antonio Linares Vera
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
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 gitDrPantera
 
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 drupalSiteGround España
 
documento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptxdocumento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptxmauriciohernandezp1
 

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

More from 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 WordPressMauricio 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 siteMauricio 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 timeMauricio 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 emprendimientoMauricio 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 tempoMauricio 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 timeMauricio 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 maquetadorMauricio 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 tiempoMauricio 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 WordPressMauricio 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 WordPressMauricio 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 WordPressMauricio 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 WordPressMauricio 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 WordPressMauricio Gelves
 
Taller de Iniciación a WordPress
Taller de Iniciación a WordPressTaller de Iniciación a WordPress
Taller de Iniciación a WordPressMauricio 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 tablesMauricio Gelves
 
La base de datos de WordPress
La base de datos de WordPressLa base de datos de WordPress
La base de datos de WordPressMauricio Gelves
 

More from 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
 

Recently uploaded

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 

Recently uploaded (6)

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 

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!