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 - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
 
Introduction to Git (part 2)
Introduction to Git (part 2)Introduction to Git (part 2)
Introduction to Git (part 2)
Salvatore Cordiano
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 
git flow
git flowgit flow
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?
John Congdon
 
Git workflows
Git workflowsGit workflows
Git workflows
Xpand IT
 
Git
GitGit
Presentacion git
Presentacion gitPresentacion git
Presentacion git
Ignacio Martín
 
Git
GitGit
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requests
Bartosz Kosarzycki
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
Knoldus Inc.
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
Roland Emmanuel Salunga
 
Git real slides
Git real slidesGit real slides
Git real slides
Lucas Couto
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Rueful Robin
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
Harun Yardımcı
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
Carl Brown
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
Otto Kekäläinen
 

La actualidad más candente (20)

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Introduction to Git (part 2)
Introduction to Git (part 2)Introduction to Git (part 2)
Introduction to Git (part 2)
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
git flow
git flowgit flow
git flow
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git
GitGit
Git
 
Presentacion git
Presentacion gitPresentacion git
Presentacion git
 
Git
GitGit
Git
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requests
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 

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

TRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdf
TRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdfTRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdf
TRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdf
anacruztone06
 
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
 
LA NUBE YULIANA GABRIELA CORI NINARAQUE.pdf
LA NUBE YULIANA GABRIELA CORI NINARAQUE.pdfLA NUBE YULIANA GABRIELA CORI NINARAQUE.pdf
LA NUBE YULIANA GABRIELA CORI NINARAQUE.pdf
YulianaCori
 
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
 
APLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptxAPLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptx
cpadua713
 
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
 
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
 
Herramientas de la web 2.0.pptx
Herramientas    de     la    web    2.0.pptxHerramientas    de     la    web    2.0.pptx
Herramientas de la web 2.0.pptx
anittaeunice
 
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
 
Documento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdf
Documento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdfDocumento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdf
Documento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdf
sthefannydelgado765
 
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
 
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
 
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
 
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
 
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
 
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
 
SLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajasSLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajas
ruthechepurizaca
 

Último (17)

TRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdf
TRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdfTRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdf
TRABAJO APLICACIONES EN INTERNET - Ana cruz tone.pdf
 
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
 
LA NUBE YULIANA GABRIELA CORI NINARAQUE.pdf
LA NUBE YULIANA GABRIELA CORI NINARAQUE.pdfLA NUBE YULIANA GABRIELA CORI NINARAQUE.pdf
LA NUBE YULIANA GABRIELA CORI NINARAQUE.pdf
 
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
 
APLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptxAPLICACIONES DE INTERNET-INFORMATICA.pptx
APLICACIONES DE INTERNET-INFORMATICA.pptx
 
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
 
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
 
Herramientas de la web 2.0.pptx
Herramientas    de     la    web    2.0.pptxHerramientas    de     la    web    2.0.pptx
Herramientas de la web 2.0.pptx
 
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
 
Documento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdf
Documento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdfDocumento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdf
Documento A4 formas curvas Hoja de papel multicolor_20240615_213856_0000.pdf
 
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
 
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
 
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
 
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
 
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
 
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
 
SLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajasSLIDESHARE, qué es, ventajas y desventajas
SLIDESHARE, qué es, ventajas y desventajas
 

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!