Este documento apresenta o fluxo de trabalho git-flow para o desenvolvimento de software, incluindo como criar novas funcionalidades, lançar versões e corrigir bugs. Ele explica os comandos básicos do git-flow para gerenciar branches de recursos, lançamentos e correções, e como integrá-los de volta ao branch principal.
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/