Hotfixes
Continuando nossa jornada sobre GitFlow vamos aprender para que servem os branches chamados de hotfixes e como aplicar o uso deles em correções urgentes em produção. 😯
Last updated
Continuando nossa jornada sobre GitFlow vamos aprender para que servem os branches chamados de hotfixes e como aplicar o uso deles em correções urgentes em produção. 😯
Last updated
Hotfixes são branches usados para resolver rapidamente as mudanças necessárias no branch principal (master). São destinados para a realização de alguma(s) correção(ões) crítica(s) encontrada(s) em produção. Por convenção elas têm o prefixo hotfix/. Por exemplo:
hotfix/v1.0.1
Importante ressaltar que as hotfixes são criadas sempre à partir da branch master.
Descrição da imagem: Após houver uma versão em produção (master), é criada uma hotfix (H - Nova hotfix), onde há correções imediatas do código a partir do branch principal e por fim, a mesclagem com o branch master (M - Merge) e o código atualizado volta a ser integrado também, à develop.
Ter o GIT instalado
Qualquer repositório com o fluxo do Git Flow inicializado e configurado.
Para criar uma hotfix é bem simples:
git flow hotfix start <número-versão-proposta-de-correção>
Com um comando neste padrão, será criada um novo branch através da master com o prefixo hotfix/ , seguido do número de versão que você inserir.
Execute:
O retorno do comando é um novo branch entitulado hotfix/v1.0.1 e já é realizado checkout nesse novo branch.
[saída do console]
Switched to a new branch 'hotfix/v1.0.1'
Summary of actions:
- A new branch 'hotfix/v1.0.1' was created, bases on 'master'
- You are now on branch 'hotfix/v1.0.1'
Follow-up actions:
- Bump the version number now!
- Start commtting last-minute in preparing your hotfix
- When done, run:
git flow hotfix finish 'v1.0.1'
Após finalizar as correções urgentes no código que está em produção, o branch estará pronto para ser finalizado e mesclado tanto na master quanto na develop.
Então você verificou que está na hotfix, não há nenhum commit a ser feito e nenhum arquivo pendente...
[saída do console]
No ramo hotfix/v1.0.1 nothing to commit, working tree clean
git flow hotfix finish <número-versão-proposta> O número da versão da hotfix é opcional quando você já está presente(checkout) nela.
Execute:
Após esta instrução, aparecerá a possibilidade de escrever uma mensagem que descreverá a versão lançada (nota de versão).
[console]
#
# Write a message for tag:
# v1.0.1
# Lines starting with '#' will be ignored.
A finalização de uma hotfix marca a criação de uma tag correspondente ao número de versão entitulado no branch hotfix.
Depois de escrever a mensagem, a hotfix será meclada(merge) a master E a develop, em seguida deletada tanto localmente como remotamente.
Switched to branch 'master' Your branch is up to date with 'origin/master'. To <url-repositorito-remoto> - [deleted] hotfix/v1.0.1 Deleted branch hotfix/v1.0.1 (was 713d5ac).
Summary of actions:
Hotfix branch 'hotfix/v1.0.1' has been merged into 'master'
The hotfix was tagged 'v1.0.1'
Hotfix branch 'hotfix/v1.0.1' has been locally deleted
You are now on branch 'develop'
Para garantir que o repositório remoto estará atualizado baseando no status da sua estação de trabalho local, execute os comandos abaixo:
EMPURRE (push) as atualizações de todos os branches
SUBA (push) a tag recentemente criada
Nesta seção sobre Git Flow você encontrará explicações e usos práticos sobre features, releases, tags e muito mais.
Pronto, para trabalhar com hotfixes de forma simples e rápida, é isto!!
Obrigado por chegar até aqui!