Mudanças entre as edições de "GitFlow"
Linha 7: | Linha 7: | ||
'''Os ramos (branches)''' | '''Os ramos (branches)''' | ||
− | Master | + | '''Master''' |
A branch Master é a cópia fiel do sistema em produção, um espelho de todo o sistema que está operando em produção.<br> | A branch Master é a cópia fiel do sistema em produção, um espelho de todo o sistema que está operando em produção.<br> | ||
Linha 13: | Linha 13: | ||
operando normalmente como antes. Só deve existir uma branch Master no projeto, apenas um Fluxo (Flow) de evolução. | operando normalmente como antes. Só deve existir uma branch Master no projeto, apenas um Fluxo (Flow) de evolução. | ||
− | Develop | + | '''Develop''' |
A branch Develop é a base de trabalho e desenvolvimento do projeto. A Develop sempre está sincronizada com a Master, sempre.<br> | A branch Develop é a base de trabalho e desenvolvimento do projeto. A Develop sempre está sincronizada com a Master, sempre.<br> | ||
Linha 19: | Linha 19: | ||
só deve existir apenas uma branch Develop, apenas um Fluxo (Flow) de evolução. | só deve existir apenas uma branch Develop, apenas um Fluxo (Flow) de evolução. | ||
− | Features | + | '''Features''' |
A branch Features é o conjunto de branches que compõe toda a evolução do projeto. Com base na Develop, toda nova funcionalidade a<br> | A branch Features é o conjunto de branches que compõe toda a evolução do projeto. Com base na Develop, toda nova funcionalidade a<br> | ||
Linha 25: | Linha 25: | ||
Em um mesmo Fluxo Features várias branches de novas funcionalidades podem coexistir simultaneamente. Todas serão “mergeadas” uma a uma para a Develop. | Em um mesmo Fluxo Features várias branches de novas funcionalidades podem coexistir simultaneamente. Todas serão “mergeadas” uma a uma para a Develop. | ||
− | Release | + | '''Release''' |
E a branch que controla a versão do sistema. Quando há uma quantidade X de merges das Features com a Develop, um novo Release pode ser criado,<br> | E a branch que controla a versão do sistema. Quando há uma quantidade X de merges das Features com a Develop, um novo Release pode ser criado,<br> |
Edição das 18h05min de 15 de junho de 2021
Fluxo de trabalho Gitflow
O Git Flow é uma maneira dinâmica e ativa de organização de branches dentro do Git. Com base nessa metodologia,
o Git Flow criou um ferramental para auxiliar esta administração. Ele agrupa um conjunto de comandos dentro de um único comando
o intuito de auxiliar no gerenciamento e na manutenção do repositório.
Os ramos (branches)
Master
A branch Master é a cópia fiel do sistema em produção, um espelho de todo o sistema que está operando em produção.
Em tese, se algo acontece com o sistema de produção, a master deve estar preparada para subir para produção e continuar
operando normalmente como antes. Só deve existir uma branch Master no projeto, apenas um Fluxo (Flow) de evolução.
Develop
A branch Develop é a base de trabalho e desenvolvimento do projeto. A Develop sempre está sincronizada com a Master, sempre.
Todas as novas funcionalidades (Features) e toda a evolução do projeto é feita com base na branch Develop. Assim como a Master,
só deve existir apenas uma branch Develop, apenas um Fluxo (Flow) de evolução.
Features
A branch Features é o conjunto de branches que compõe toda a evolução do projeto. Com base na Develop, toda nova funcionalidade a
ser implementada no sistema é feita pelo Fluxo (Flow) Features. Neste caso, podem existir N branches para este Fluxo (Flow).
Em um mesmo Fluxo Features várias branches de novas funcionalidades podem coexistir simultaneamente. Todas serão “mergeadas” uma a uma para a Develop.
Release
E a branch que controla a versão do sistema. Quando há uma quantidade X de merges das Features com a Develop, um novo Release pode ser criado,
criando uma nova versão para o sistema. Cada arquiteto ou responsável pelo projeto decide quando criar uma nova Release com base no que já foi produzido.
Geralmente é nesta branch que acontecem todos os tipos de testes. Quando um Release é aprovado, ele é “mergeado” com a Master e com a Develop,
para manter a base de desenvolvimento atualizada. Só deve existir apenas uma branch Release, apenas um Fluxo de evolução (Flow).