-
- Não é um software
- Não é uma biblioteca ou framewok
- Modelo
- estrategia
- fluxo de trabalho
- Para organizar as tarefas e manter uma versão estável do código do projeto e trazer agilidade sem perder estabilidade para as próximas versões estáveis do projeto.
- Cada equipe pode ter o próprio gitflow, a estratégia pode variar de acordo com o projeto. Por exemplo caso o projeto tenha opções de entrega e integração continua ou não, o gitflow pode ir além do time que desenvolve o projeto em si, envolvendo o time de
GarantiadeQualidade, onde determinadas tarefas podem ser refeitas caso não cumpram de alguma forma os requisitos desta em sua totalidade.
-
Comumente um Gitflow segue alguns passos em determinadas situações, as situações geralmente são:
feature: Nova funcionalidade em um projeto.bugfix: Correções de bugs em features em andamento.hotfix: Correções de bugs em ambiente produtivo.release: Lançamento de novas versões.
-
Para cada situação é criado uma branch de curta duração, nas quais são baseadas em
branchsde longa duração. São essas as branchs principais:-
mainNela fica todo o código de produção. Todas as novas funcionalidades que estão em desenvolvimento são mescladas ou associadas à ela. Para interagir com essa branch, é necessário criar uma branchHotfixou um nova branchRelease.Lembrando que essa
branché "travada", nao podendo ser feito commits na mesma, aceitando alterações apenas mediante Pull Requests. -
developO código da próxima versão fica armazenado nessa branch. Sua principal finalidade é ser como uma linha do tempo com os últimos desenvolvimentos, ou seja,features,bugfixes, funcionalidades que ainda não foram publicadas e serão posteriormente associadas à branchmain.Lembrando que essa
branché "travada", nao podendo ser feito commits na mesma, aceitando alterações apenas mediante Pull Requests.
-
-
Branch Feature
-
A branch Feature é usada para o desenvolvimento de
featuresebugfixes. Criada a partir da branchdevelop, automaticamente deve ser removida assim que fazer omergecom a branch de origem adevelop.Além disso, é necessário destacar que a Feature não pode ter interação com a
main, somente com a Develop.
-
-
Branch bugfix
- A branch bugfix é criada a partir da
developpara fazer correções localizadas em features novas em processo de testes. Assim que é concluída, deve se fazer omergecom adeveloplogo após a finalização do merge ela deve ser apagada.
- A branch bugfix é criada a partir da
-
Branch Hotfix
- A branch Hotfix é criada a partir da
mainpara fazer correções rápidas localizadas no sistema já em produção. Assim que concluída, ela deve ser apagada logo após a finalização do merge com amaine adevelop.
- A branch Hotfix é criada a partir da
-
Branch Release
- A branch Release é a finalização de um processo de desenvolvimento, é criada a partir da
develope mesclada com amainonde teremos todas asfeatures,bugfixesehotfixesdo ciclo atual. Após essemergepodemos gerar tanto versões de teste em homologação quanto de produção. Assim que concluída, ela se apaga logo após a finalização do merge com amaine adevelop. A partir dai, podemos assim gerar umatagda nova versão a partir damain.
- A branch Release é a finalização de um processo de desenvolvimento, é criada a partir da