-
Crie a branch de desenvolvimento (develop) a partir da branch principal (main):
git branch develop git push -u origin develop
-
Crie uma branch de feature a partir da branch develop. Por exemplo, para uma feature chamada 'minha-feature':
git checkout -b feature/minha-feature develop
-
Desenvolva sua feature na branch de feature. Faça commits conforme necessário:
git add . git commit -m "Desenvolvi minha feature"
-
Quando a feature estiver pronta, faça o merge dela na branch develop:
git checkout develop git merge --no-ff feature/minha-feature git push origin develop
-
Delete a branch de feature após o merge:
git branch -d feature/minha-feature
-
Quando estiver pronto para uma release, crie uma branch de release a partir da branch develop. Por exemplo, para uma release chamada '0.1.0':
git checkout -b release/0.1.0 develop
-
Faça o merge da branch de release na branch main e na branch develop:
git checkout main git merge --no-ff release/0.1.0 git push origin main git checkout develop git merge --no-ff release/0.1.0 git push origin develop
-
Delete a branch de release após o merge:
git branch -d release/0.1.0
-
Crie uma tag na branch main para marcar a release:
git tag -a 0.1.0 -m "Release 0.1.0" git push origin 0.1.0
-
Puxe as últimas alterações da branch main:
git checkout main git pull origin main
-
Crie uma branch de hotfix a partir da branch main. Por exemplo, para um hotfix chamado 'meu-hotfix':
git checkout -b hotfix/meu-hotfix main
-
Faça as correções necessárias na branch de hotfix. Faça commits conforme necessário:
git add . git commit -m "Corrigi o problema"
-
Quando o hotfix estiver pronto, faça o merge dele nas branches main e develop:
git checkout main git merge --no-ff hotfix/meu-hotfix git push origin main git checkout develop git merge --no-ff hotfix/meu-hotfix git push origin develop
-
Delete a branch de hotfix após o merge:
git branch -d hotfix/meu-hotfix
-
Crie uma tag na branch main para marcar o hotfix:
git tag -a 0.1.1 -m "Hotfix 0.1.1" git push origin 0.1.1
O versionamento semântico é um sistema de versionamento usado ao desenvolver/liberar um software. Ele oferece uma maneira universal de versionar projetos de desenvolvimento de software. Dado um número de versão Major.Minor.Patch, você incrementa o:
- Versão Major quando você faz alterações incompatíveis na API.
- Versão Minor quando você adiciona funcionalidade de maneira compatível com versões anteriores.
- Versão Patch quando você faz correções de bugs compatíveis com versões anteriores.
Rótulos adicionais para pré-lançamento e metadados de construção estão disponíveis como extensões para o formato Major.Minor.Patch.
Os commits semânticos no git-flow são feitos conforme necessário durante o desenvolvimento da feature, correção do hotfix ou preparação da release. Cada commit deve representar uma unidade lógica de trabalho concluída. No contexto do versionamento semântico, os commits ajudam a rastrear quais alterações foram feitas em cada versão do software.
As mensagens de commit devem ser claras e significativas. Aqui estão algumas dicas para escrever boas mensagens de commit:
- Use o tempo presente: "Adiciona recurso" não "Adicionou recurso" ou "Adicionando recurso".
- Inclua o contexto: Por exemplo, "Adiciona validação de entrada no método de login".
- Seja breve mas claro: Idealmente, a mensagem do commit deve ser capaz de responder à pergunta "Por que esta mudança foi necessária?".
Lembre-se, bons commits são úteis para outros desenvolvedores (e para você no futuro) entenderem rapidamente o que foi alterado e por quê.