SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
GitFlow en Github
G. Mizael Mtz Hdz
SOFTWARE ENGINEER
AGENDA
● INTRODUCCIÓN
○ ¿Qué es Git?
○ ¿Qué es Github?
○ Algunos comandos Git
○ Gitflow
● CREAR REPOSITORIO
○ Crear repositorio en Github
● PRÁCTICA
○ Requisitos
○ Tabla de cambios
○ Cambio #1 - feature/login-con-facebook
○ Cambio #2 - feature/exportar-reporte-drive
○ Cambio #3 - hotfix/login-linkedin
○ Cambio #4 - release/v1.2.0
INTRODUCCIÓN
INTRODUCCIÓN
¿Qué es Git?
● Software de control de versiones
● Permite mantener un histórico de las distintas versiones de un desarrollo
INTRODUCCIÓN
¿Qué es Github?
● Servicio web (servidor) basado en GIT.
● Servidor GIT
● Origin
INTRODUCCIÓN
Algunos comandos Git
● git init
● git clone
● git add
● git commit
● git push
● git branch
● git tag
● git pull
● touch
INTRODUCCIÓN
Gitflow
● Flujo de trabajo basado en Git
● Permite el trabajo en equipo (conflictos en pull request)
● Ideal en metodologías ágiles
● Modelo estricto de ramificación
● Ramas clave: main y develop
RAMAS
● main
● develop
_________________
● feature/
● bug/
● support/
● release/
● hotfix/
INTRODUCCIÓN
Gitflow
CREAR REPOSITORIO
CREAR REPOSITORIO
Crear repositorio en github
● https://github.com/
● Proyecto “GitFlow en Github”
● Agregar README.md
● git clone git@github.com:gmizaelmtzhdz/GitFlow-en-Github.git
PRÁCTICA
PRÁCTICA
Requisitos
● Editor: Visual Studio Code
● Extensión: Git Graph
PRÁCTICA
Tabla de cambios
ID DESCRIPCIÓN CORTA RAMA DE TRABAJO RAMA ORIGEN RAMA DESTINO
Cambio #1 Implementar inicio de
sesión con Facebook
feature/login-con-facebook develop develop
Cambio #2 Exportar reporte de
usuarios a Google Drive
feature/exportar-reporte-drive develop develop
Cambio #3 Error al iniciar sesión con
Linkedin (v1.1.0)
hotfix/login-linkedin main main y develop
Cambio #4 liberar versión v1.2.0 release/v1.2.0 develop main y develop
PRÁCTICA
Cambio #1 - feature/login-con-facebook
● git checkout -b develop | git push -u origin develop | revisar git graph
● git checkout -b feature/login-con-facebook
● touch login-con-facebook.txt
● git add login-con-facebook.txt
● git commit -m "Se implemento el inicio de sesion con Facebook"
● git push -u origin feature/login-con-facebook
PULL REQUEST
● Repositorio > Pull Requests > New pull request
○ base: develop
○ compare: feature/login-con-facebook
PRÁCTICA
Cambio #2 - feature/exportar-reporte-drive
● git checkout develop | git pull origin develop | revisar git graph
● git checkout -b feature/exportar-reporte-drive
● touch exportar-reporte-drive.txt
● git add exportar-reporte-drive.txt
● git commit -m "Soporte para exportar reportes de usuarios a Google Drive"
● git push -u origin feature/exportar-reporte-drive
PULL REQUEST
● Repositorio > Pull Requests > New pull request
○ base: develop
○ compare: feature/exportar-reporte-drive
PRÁCTICA
Cambio #3 - hotfix/login-linkedin
● git checkout main | git pull origin main | revisar git graph
● git checkout -b hotfix/login-linkedin
● touch login-linkedin.txt
● git add login-linkedin.txt
● git commit -m "Se soluciono el error al iniciar sesión con Linkedin"
● git push -u origin hotfix/login-linkedin
PULL REQUEST
● Repositorio > Pull Requests > New pull request
○ base: main
○ compare: hotfix/login-linkedin
● En local
● git checkout main | git pull origin main
● git tag -a v1.1.0 -m "version 1.1.0"
● git push -u origin v1.1.0
● Pull request a develop
○ base: develop
○ compare: main
● git checkout develop | git pull origin develop
PRÁCTICA
Cambio #4 - release/v1.2.0
● git checkout develop | git pull origin develop | revisar git graph
● git checkout -b release/v1.2.0
● touch ajustes-release-v1-2-0.txt
● git add ajustes-release-v1-2-0.txt
● git commit -m "último ajuste"
● git push -u origin release/v1.2.0
PULL REQUEST
● Menú > Pull Requests > New pull request
○ base: main
○ compare: release/v1.2.0
● En local
● git checkout main | git pull origin main
● git tag -a v1.2.0 -m "version 1.2.0"
● git push -u origin v1.2.0
● Pull request a develop
○ base: develop
○ compare: main
● git checkout develop | git pull origin develop
Play List: https://www.youtube.com/playlist?list=PLpiNp4PTAhF7tTwyniUUcP-QTwVyDCO4j

Más contenido relacionado

La actualidad más candente

Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側do_aki
 
Your own full blown Gerrit plugin
Your own full blown Gerrit pluginYour own full blown Gerrit plugin
Your own full blown Gerrit pluginDariusz Łuksza
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflowsArthur Shvetsov
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use ItDaniel Kummer
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to GitlabJulien Pivotto
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステムl_b__
 
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805shinyatsukasaki
 
twlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsotwlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsoViller Hsiao
 
Introduce to Rust-A Powerful System Language
Introduce to Rust-A Powerful System LanguageIntroduce to Rust-A Powerful System Language
Introduce to Rust-A Powerful System Language安齊 劉
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsshunki fujiwara
 
Building a Cyber Range - Kevin Cardwell
Building a Cyber Range - Kevin CardwellBuilding a Cyber Range - Kevin Cardwell
Building a Cyber Range - Kevin CardwellEC-Council
 

La actualidad más candente (20)

Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側
 
Your own full blown Gerrit plugin
Your own full blown Gerrit pluginYour own full blown Gerrit plugin
Your own full blown Gerrit plugin
 
Git flow
Git flowGit flow
Git flow
 
perfを使ったPostgreSQLの解析(後編)
perfを使ったPostgreSQLの解析(後編)perfを使ったPostgreSQLの解析(後編)
perfを使ったPostgreSQLの解析(後編)
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
Linux Internals - Part III
Linux Internals - Part IIILinux Internals - Part III
Linux Internals - Part III
 
Git basic
Git basicGit basic
Git basic
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
Git undo
Git undoGit undo
Git undo
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステム
 
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
 
twlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdsotwlkh-linux-vsyscall-and-vdso
twlkh-linux-vsyscall-and-vdso
 
Introduce to Rust-A Powerful System Language
Introduce to Rust-A Powerful System LanguageIntroduce to Rust-A Powerful System Language
Introduce to Rust-A Powerful System Language
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Building a Cyber Range - Kevin Cardwell
Building a Cyber Range - Kevin CardwellBuilding a Cyber Range - Kevin Cardwell
Building a Cyber Range - Kevin Cardwell
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 

Similar a Git flow en github

Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCarlos Huamaní
 
Deploy gitlab vía ftp
Deploy gitlab vía ftp Deploy gitlab vía ftp
Deploy gitlab vía ftp MizaelMartinez2
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a 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
 
Taller breve de introduccion a Git
Taller breve de introduccion a GitTaller breve de introduccion a Git
Taller breve de introduccion a GitMario IC
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón. Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón. Juan J. Merelo
 
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28CloudNativeElSalvado
 
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
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GITJulio Silva
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfMartinBonuccelli
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 

Similar a Git flow en github (20)

Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
 
Deploy gitlab vía ftp
Deploy gitlab vía ftp Deploy gitlab vía ftp
Deploy gitlab vía ftp
 
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
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
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
 
Taller breve de introduccion a Git
Taller breve de introduccion a GitTaller breve de introduccion a Git
Taller breve de introduccion a Git
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón. Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón.
 
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28Desarrollar e Implementar CI/CD con Github Actions - oct. 28
Desarrollar e Implementar CI/CD con Github Actions - oct. 28
 
Git Primeros pasos
Git Primeros pasosGit Primeros pasos
Git Primeros pasos
 
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.manual.usuario
Git.manual.usuarioGit.manual.usuario
Git.manual.usuario
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdf
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Git windows
Git windowsGit windows
Git windows
 
ES.ASW.PL01_Github_2021.pdf
ES.ASW.PL01_Github_2021.pdfES.ASW.PL01_Github_2021.pdf
ES.ASW.PL01_Github_2021.pdf
 
Git workflow v2
Git workflow  v2Git workflow  v2
Git workflow v2
 

Git flow en github

  • 1. GitFlow en Github G. Mizael Mtz Hdz SOFTWARE ENGINEER
  • 2. AGENDA ● INTRODUCCIÓN ○ ¿Qué es Git? ○ ¿Qué es Github? ○ Algunos comandos Git ○ Gitflow ● CREAR REPOSITORIO ○ Crear repositorio en Github ● PRÁCTICA ○ Requisitos ○ Tabla de cambios ○ Cambio #1 - feature/login-con-facebook ○ Cambio #2 - feature/exportar-reporte-drive ○ Cambio #3 - hotfix/login-linkedin ○ Cambio #4 - release/v1.2.0
  • 4. INTRODUCCIÓN ¿Qué es Git? ● Software de control de versiones ● Permite mantener un histórico de las distintas versiones de un desarrollo
  • 5. INTRODUCCIÓN ¿Qué es Github? ● Servicio web (servidor) basado en GIT. ● Servidor GIT ● Origin
  • 6. INTRODUCCIÓN Algunos comandos Git ● git init ● git clone ● git add ● git commit ● git push ● git branch ● git tag ● git pull ● touch
  • 7. INTRODUCCIÓN Gitflow ● Flujo de trabajo basado en Git ● Permite el trabajo en equipo (conflictos en pull request) ● Ideal en metodologías ágiles ● Modelo estricto de ramificación ● Ramas clave: main y develop RAMAS ● main ● develop _________________ ● feature/ ● bug/ ● support/ ● release/ ● hotfix/
  • 10. CREAR REPOSITORIO Crear repositorio en github ● https://github.com/ ● Proyecto “GitFlow en Github” ● Agregar README.md ● git clone git@github.com:gmizaelmtzhdz/GitFlow-en-Github.git
  • 12. PRÁCTICA Requisitos ● Editor: Visual Studio Code ● Extensión: Git Graph
  • 13. PRÁCTICA Tabla de cambios ID DESCRIPCIÓN CORTA RAMA DE TRABAJO RAMA ORIGEN RAMA DESTINO Cambio #1 Implementar inicio de sesión con Facebook feature/login-con-facebook develop develop Cambio #2 Exportar reporte de usuarios a Google Drive feature/exportar-reporte-drive develop develop Cambio #3 Error al iniciar sesión con Linkedin (v1.1.0) hotfix/login-linkedin main main y develop Cambio #4 liberar versión v1.2.0 release/v1.2.0 develop main y develop
  • 14. PRÁCTICA Cambio #1 - feature/login-con-facebook ● git checkout -b develop | git push -u origin develop | revisar git graph ● git checkout -b feature/login-con-facebook ● touch login-con-facebook.txt ● git add login-con-facebook.txt ● git commit -m "Se implemento el inicio de sesion con Facebook" ● git push -u origin feature/login-con-facebook PULL REQUEST ● Repositorio > Pull Requests > New pull request ○ base: develop ○ compare: feature/login-con-facebook
  • 15. PRÁCTICA Cambio #2 - feature/exportar-reporte-drive ● git checkout develop | git pull origin develop | revisar git graph ● git checkout -b feature/exportar-reporte-drive ● touch exportar-reporte-drive.txt ● git add exportar-reporte-drive.txt ● git commit -m "Soporte para exportar reportes de usuarios a Google Drive" ● git push -u origin feature/exportar-reporte-drive PULL REQUEST ● Repositorio > Pull Requests > New pull request ○ base: develop ○ compare: feature/exportar-reporte-drive
  • 16. PRÁCTICA Cambio #3 - hotfix/login-linkedin ● git checkout main | git pull origin main | revisar git graph ● git checkout -b hotfix/login-linkedin ● touch login-linkedin.txt ● git add login-linkedin.txt ● git commit -m "Se soluciono el error al iniciar sesión con Linkedin" ● git push -u origin hotfix/login-linkedin PULL REQUEST ● Repositorio > Pull Requests > New pull request ○ base: main ○ compare: hotfix/login-linkedin ● En local ● git checkout main | git pull origin main ● git tag -a v1.1.0 -m "version 1.1.0" ● git push -u origin v1.1.0 ● Pull request a develop ○ base: develop ○ compare: main ● git checkout develop | git pull origin develop
  • 17. PRÁCTICA Cambio #4 - release/v1.2.0 ● git checkout develop | git pull origin develop | revisar git graph ● git checkout -b release/v1.2.0 ● touch ajustes-release-v1-2-0.txt ● git add ajustes-release-v1-2-0.txt ● git commit -m "último ajuste" ● git push -u origin release/v1.2.0 PULL REQUEST ● Menú > Pull Requests > New pull request ○ base: main ○ compare: release/v1.2.0 ● En local ● git checkout main | git pull origin main ● git tag -a v1.2.0 -m "version 1.2.0" ● git push -u origin v1.2.0 ● Pull request a develop ○ base: develop ○ compare: main ● git checkout develop | git pull origin develop