SlideShare a Scribd company logo
1 of 13
Download to read offline
git-flow na prática!
Viagem ao mundo git-flow!
1
Apresentação
● Graduado em Análise de Sistemas
● Pós-Graduação em Desenvolvimento Mobile
● Analista Desenvolvedor de Sistemas de Informação Prefeitura de Fortaleza
marcelosantosadm@gmail.com
https://www.linkedin.com/in/marcelotdsantos
2
git-flow
O git-flow é um conjunto de extensões para o git que provê
operações de alto-nível para repositórios usando o modelo de
branches do Vincent Driessen.
3
https://danielkummer.github.io/git-flow-cheatsheet
Quick Start
O foco é o uso do git-flow, então presume-se que temos um projeto
com o git-flow habilitado e pronto para uso, seguirei as
configurações padrão do git-flow: feature, hotfix etc
git-flow no dia-a-dia (nova feature)
Por meio do terminal, digite:
$ git flow feature start adicionar-menu-de-acesso-ao-sistema
Com isso estamos criando feature branch com nome
adicionar-menu-de-acesso-ao-sistema para realizar a
implementação necessária da feature. Após isso teremos um novo
branch, ao rodar o comando abaixo podemos conferir:
$ git branch
4
Realize as implementações da feature
Verifique o status com a lista de modificações:
$ git status
5
Vamos adicionar tudo ao stage: $ git add .
Vamos fazer o commit das alterações:
$ git commit -m “Informe uma mensagem sobre a implementação”
6
Visualizando o log de commits:
$ git log
Vamos finalizar a nossa feature usando git-flow
$ git flow feature finish adicionar-menu-de-acesso-ao-sistema
7
Verifique o feedback dos comandos realizado, são úteis para aprendizado e solução de problemas do
dia-a-dia. Ao ler as mensagens do git você ficará ciente do que de fato está sendo realizado a cada
comando.
- branch de feature foi mergiado no branch develop
- branch de feature foi removido do repositório local e remoto (estava publicado no remoto)
- seu branch atual agora é o develop
Vamos enviar nossas implementações ao GitLab :-), no caso de uma
feature, após finalizada enviamos as modificações para para o branch
develop para que a feature seja homologada.
$ git push origin develop
8
Após envio para homologação, o webhook (quando configurado) baixará as
modificações no ambiente de homologação do projeto:
http://hom.NOME_DO_PROJETO.domain.ce.gov.br
git-flow no dia-a-dia (fazendo release)
Por meio do terminal, vamos criar uma release usando git-flow:
$ git flow release start v1.0.0
Com isso estamos criando um release branch com nome v1.0.0 para
preparar a publicação da release. Um branch de hotfix é criado a
partir do develop, ou seja, versão que está em homologação
devidamente testado, quando finalizada, a release será mergiada no
master, realizando o deploy para produção.
$ git branch
9
Finalizando e publicando a release
Por meio do terminal, vamos finalizar a release com git-flow:
$ git flow release finish v1.0.0
Com isso estamos finalizando a release v1.0.0 e vamos salvar as mensagens de commit
sugeridas pelo git-flow (serão abertas automaticamente, basta salvar), as features
implementadas e homologadas no develop serão mergiadas no master. Após isso
atualizamos o master, ou seja, publicamos em produção:
$ git push origin develop //publicando release em homologação
$ git push origin master //publicando release em produção
10Lembre-se de atualizar o CHANGELOG.md
git-flow no dia-a-dia (vish surgiu um bug)
Por meio do terminal, vamos criar um hotfix usando git-flow:
$ git flow hotfix start bug-text-update
Com isso estamos criando um hotfix branch com nome
bug-text-update para realizar a implementação para correção do
bug. Um branch de hotfix é criado a partir do master, ou seja, versão
que está em produção, quando finalizada, a correção será mergiada
em ambos, master e develop.
$ git branch
11
finalizando o hotfix
Por meio do terminal, vamos preparar o commit:
$ git add .
$ git commit -m “correção textual”
Por meio do terminal, vamos finalizar o hotfix com git-flow:
$ git flow hotfix finish bug-text-update
Com isso estamos finalizando o hotfix e vamos salvar as mensagens de commit
sugeridas pelo git-flow (serão abertas automaticamente, basta editar e/ou salvar), a
implementação da correção do bug será mergiada em ambos, master e develop. Após
isso atualizamos os remotos:
$ git push origin develop //atualizando ambiente de homologação
$ git push origin master //publicando a correção em produção
12Lembre-se de atualizar o CHANGELOG.md
Obrigado à todos!
13
● Referências
https://danielkummer.github.io/git-flow-cheatsheet
https://git-scm.com/

More Related Content

What's hot

Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するuchan_nos
 
Minecraftで計算機を作ってみた
Minecraftで計算機を作ってみたMinecraftで計算機を作ってみた
Minecraftで計算機を作ってみたYuNakai
 
20190330 RxFlow 시작하기
20190330 RxFlow 시작하기20190330 RxFlow 시작하기
20190330 RxFlow 시작하기Clint Jang
 
超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストールShin Tanigawa
 
C++ vs C#
C++ vs C#C++ vs C#
C++ vs C#sudipv
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
ドコモAIエージェントAPIのご紹介
ドコモAIエージェントAPIのご紹介ドコモAIエージェントAPIのご紹介
ドコモAIエージェントAPIのご紹介Takeshi Akutsu
 
Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique ) Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique ) Hamza Ibrahmi
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHubThibault Vlacich
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleAbdo07
 
rapport de stage
rapport de stagerapport de stage
rapport de stageMarouane Gh
 
Structure (Computer programming and utilization)
Structure (Computer programming and utilization)Structure (Computer programming and utilization)
Structure (Computer programming and utilization)Digvijaysinh Gohil
 

What's hot (20)

Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続する
 
Minecraftで計算機を作ってみた
Minecraftで計算機を作ってみたMinecraftで計算機を作ってみた
Minecraftで計算機を作ってみた
 
20190330 RxFlow 시작하기
20190330 RxFlow 시작하기20190330 RxFlow 시작하기
20190330 RxFlow 시작하기
 
超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール
 
Haxeについて
HaxeについてHaxeについて
Haxeについて
 
Soutenance projet LABVIEW
Soutenance projet LABVIEWSoutenance projet LABVIEW
Soutenance projet LABVIEW
 
SMART Home Rapport
SMART Home RapportSMART Home Rapport
SMART Home Rapport
 
C++ vs C#
C++ vs C#C++ vs C#
C++ vs C#
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Appareils mobiles
Appareils mobilesAppareils mobiles
Appareils mobiles
 
ドコモAIエージェントAPIのご紹介
ドコモAIエージェントAPIのご紹介ドコモAIエージェントAPIのご紹介
ドコモAIエージェントAPIのご紹介
 
Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique ) Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique )
 
gRPC入門
gRPC入門gRPC入門
gRPC入門
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 
Troubleshooting UniData
Troubleshooting UniDataTroubleshooting UniData
Troubleshooting UniData
 
rapport de stage
rapport de stagerapport de stage
rapport de stage
 
Structure (Computer programming and utilization)
Structure (Computer programming and utilization)Structure (Computer programming and utilization)
Structure (Computer programming and utilization)
 

Similar to Git-flow na prática guia passo-a-passo

Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo Souza Machado
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVNLuciano Lima
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJNathália Cruz de Oliveira
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoFabricio Nogueira
 
Git workshop
Git workshopGit workshop
Git workshopYuri Reis
 

Similar to Git-flow na prática guia passo-a-passo (20)

Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Setup.docx
Setup.docxSetup.docx
Setup.docx
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVN
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
TDC São Paulo 2019 - Vapor
TDC São Paulo 2019 - VaporTDC São Paulo 2019 - Vapor
TDC São Paulo 2019 - Vapor
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Git workshop
Git workshopGit workshop
Git workshop
 
Git e Github
Git e GithubGit e Github
Git e Github
 

Git-flow na prática guia passo-a-passo

  • 1. git-flow na prática! Viagem ao mundo git-flow! 1
  • 2. Apresentação ● Graduado em Análise de Sistemas ● Pós-Graduação em Desenvolvimento Mobile ● Analista Desenvolvedor de Sistemas de Informação Prefeitura de Fortaleza marcelosantosadm@gmail.com https://www.linkedin.com/in/marcelotdsantos 2
  • 3. git-flow O git-flow é um conjunto de extensões para o git que provê operações de alto-nível para repositórios usando o modelo de branches do Vincent Driessen. 3 https://danielkummer.github.io/git-flow-cheatsheet Quick Start O foco é o uso do git-flow, então presume-se que temos um projeto com o git-flow habilitado e pronto para uso, seguirei as configurações padrão do git-flow: feature, hotfix etc
  • 4. git-flow no dia-a-dia (nova feature) Por meio do terminal, digite: $ git flow feature start adicionar-menu-de-acesso-ao-sistema Com isso estamos criando feature branch com nome adicionar-menu-de-acesso-ao-sistema para realizar a implementação necessária da feature. Após isso teremos um novo branch, ao rodar o comando abaixo podemos conferir: $ git branch 4
  • 5. Realize as implementações da feature Verifique o status com a lista de modificações: $ git status 5 Vamos adicionar tudo ao stage: $ git add .
  • 6. Vamos fazer o commit das alterações: $ git commit -m “Informe uma mensagem sobre a implementação” 6 Visualizando o log de commits: $ git log
  • 7. Vamos finalizar a nossa feature usando git-flow $ git flow feature finish adicionar-menu-de-acesso-ao-sistema 7 Verifique o feedback dos comandos realizado, são úteis para aprendizado e solução de problemas do dia-a-dia. Ao ler as mensagens do git você ficará ciente do que de fato está sendo realizado a cada comando. - branch de feature foi mergiado no branch develop - branch de feature foi removido do repositório local e remoto (estava publicado no remoto) - seu branch atual agora é o develop
  • 8. Vamos enviar nossas implementações ao GitLab :-), no caso de uma feature, após finalizada enviamos as modificações para para o branch develop para que a feature seja homologada. $ git push origin develop 8 Após envio para homologação, o webhook (quando configurado) baixará as modificações no ambiente de homologação do projeto: http://hom.NOME_DO_PROJETO.domain.ce.gov.br
  • 9. git-flow no dia-a-dia (fazendo release) Por meio do terminal, vamos criar uma release usando git-flow: $ git flow release start v1.0.0 Com isso estamos criando um release branch com nome v1.0.0 para preparar a publicação da release. Um branch de hotfix é criado a partir do develop, ou seja, versão que está em homologação devidamente testado, quando finalizada, a release será mergiada no master, realizando o deploy para produção. $ git branch 9
  • 10. Finalizando e publicando a release Por meio do terminal, vamos finalizar a release com git-flow: $ git flow release finish v1.0.0 Com isso estamos finalizando a release v1.0.0 e vamos salvar as mensagens de commit sugeridas pelo git-flow (serão abertas automaticamente, basta salvar), as features implementadas e homologadas no develop serão mergiadas no master. Após isso atualizamos o master, ou seja, publicamos em produção: $ git push origin develop //publicando release em homologação $ git push origin master //publicando release em produção 10Lembre-se de atualizar o CHANGELOG.md
  • 11. git-flow no dia-a-dia (vish surgiu um bug) Por meio do terminal, vamos criar um hotfix usando git-flow: $ git flow hotfix start bug-text-update Com isso estamos criando um hotfix branch com nome bug-text-update para realizar a implementação para correção do bug. Um branch de hotfix é criado a partir do master, ou seja, versão que está em produção, quando finalizada, a correção será mergiada em ambos, master e develop. $ git branch 11
  • 12. finalizando o hotfix Por meio do terminal, vamos preparar o commit: $ git add . $ git commit -m “correção textual” Por meio do terminal, vamos finalizar o hotfix com git-flow: $ git flow hotfix finish bug-text-update Com isso estamos finalizando o hotfix e vamos salvar as mensagens de commit sugeridas pelo git-flow (serão abertas automaticamente, basta editar e/ou salvar), a implementação da correção do bug será mergiada em ambos, master e develop. Após isso atualizamos os remotos: $ git push origin develop //atualizando ambiente de homologação $ git push origin master //publicando a correção em produção 12Lembre-se de atualizar o CHANGELOG.md
  • 13. Obrigado à todos! 13 ● Referências https://danielkummer.github.io/git-flow-cheatsheet https://git-scm.com/