... | ... | @@ -3,16 +3,25 @@ |
|
|
|
|
|
Modelo de organização de branches desenvolvido especialmente para o git. Por ser primariamente um modelo de organização de branches, isso significa que o Git Flow estabelece algumas regras de nomenclaturas para tipos de branches enquanto, ao mesmo tempo, define o que cada tipo de branch faz.
|
|
|
|
|
|
Recomendações para melhor uso do modelo
|
|
|
Recomendações para melhor uso do modelo:
|
|
|
|
|
|
• Projetos em que muitas pessoas vão contribuir.
|
|
|
|
|
|
• Existe um plano consistente de análise de linha de código.
|
|
|
|
|
|
• Menor privilégio da velocidade de entrega e mais foco na qualidade.
|
|
|
|
|
|
• Times pouco experientes ou com grande rotatividade
|
|
|
|
|
|
• Produtos com o core bem definido e estabelecido
|
|
|
|
|
|
Situações de risco para o modelo
|
|
|
|
|
|
Situações de risco para o modelo:
|
|
|
|
|
|
• Versões iniciais de produtos
|
|
|
|
|
|
• Produtos com alto número de mudanças (POC, MVPs)
|
|
|
|
|
|
• Times bem Srs e experientes pode sentir o gitflow como um gargalo
|
|
|
|
|
|
## Branches
|
... | ... | @@ -25,38 +34,45 @@ Branches que vão ser mantidas durante todo o período de desenvolvimento do pro |
|
|
|
|
|
Branch em produção a ser distribuido para as demais branches.
|
|
|
Características:
|
|
|
|
|
|
• Código estável em produção.
|
|
|
• Tag para cada uma suas versões.
|
|
|
Características:
|
|
|
• código já testado, versionado que será entregue ao cliente
|
|
|
• código já testado, que será entregue ao cliente
|
|
|
|
|
|
**Develop **
|
|
|
|
|
|
A branch de develop é criada a partir da master assim que o projeto é iniciado. Sua funcionalidade é fazer a integração das alterações de desenvolvimento que já foram finalizadas. A partir daqui vai ser gerado o ambiente de desenvolvimento e features finalizadas devem enviar suas alterações para a develop.
|
|
|
A branch de *develop* é criada a partir da master assim que o projeto é iniciado. Sua funcionalidade é fazer a integração das alterações de desenvolvimento que já foram finalizadas. A partir daqui vai ser gerado o ambiente de desenvolvimento e features finalizadas devem enviar suas alterações para a *develop*.
|
|
|
Caracteristicas:
|
|
|
|
|
|
• É onde todo fluxo de trabalho irá ocorrer.
|
|
|
|
|
|
• Deve sempre conter o código mais atual.
|
|
|
|
|
|
• É usada para testar as feature.
|
|
|
|
|
|
• Features finalizadas e prontas.
|
|
|
|
|
|
|
|
|
**BRANCHES TEMPORÁRIAS **
|
|
|
|
|
|
Branches temporarias devem ser criadas para cumprir um proposito e assim que esse proposito for concluído a branch deve ser apagada.
|
|
|
|
|
|
**Feature**
|
|
|
|
|
|
São utilizadas para desenvolver novos recursos para o projeto. Esse tipo de branch é criado a partir da master e tem como padrão de nomenclatura feature/descricao_da_tarefa, quando o novo recurso terminar de ser desenvolvido deve ser enviado para a develop.
|
|
|
São utilizadas para desenvolver novos recursos para o projeto. Esse tipo de branch é criado a partir da master, quando o novo recurso terminar de ser desenvolvido deve ser enviado para a *develop*.
|
|
|
• Demandas, estórias
|
|
|
• Nomenclatura feature/descricao_da_tarefa
|
|
|
|
|
|
• Nomenclatura *feature/descricao_da_tarefa*
|
|
|
|
|
|
• Desenvolvimento de recursos
|
|
|
|
|
|
**Bugfix**
|
|
|
|
|
|
Branch para correção de erros encontrados em produção. Esse tipo de branch tem por objetivo resolver o problema o mais rapidamente possível. Para isso a branch bugfix é criada a partir da master e deve ser utilizada para resolver o problema, assim que o problema for resolvido ela deve sofrer um merge para a master.
|
|
|
Branch para correção de erros encontrados em produção. Esse tipo de branch tem por objetivo resolver o problema o mais rapidamente possível. Para isso a branch *bugfix* é criada a partir da master e deve ser utilizada para resolver o problema, assim que o problema for resolvido ela deve sofrer um merge para a *master*.
|
|
|
Características:
|
|
|
• Código sempre proveniente da master.
|
|
|
• Nomenclatura bugfix/descricao_da_tarefa
|
|
|
|
|
|
• Código sempre proveniente da master
|
|
|
|
|
|
• Nomenclatura *bugfix/descricao_da_tarefa*
|
|
|
|
|
|
*Obs:***** a descrição da tarefa deve incluir o número da US (airtable).
|
|
|
- A cada commit realizado deve ser descrito brevemente, em português, o que foi desenvolvido.
|
... | ... | @@ -65,15 +81,15 @@ Características: |
|
|
## Ciclo de vida das Branches
|
|
|
### Feature
|
|
|
|
|
|
1. Criar uma nova branch a partir da master seguindo a nomenclatura feature/*, onde o asterisco representa qualquer cadeia de caracteres.
|
|
|
1. Criar uma nova branch a partir da *master* seguindo a nomenclatura */descricao_da_tarefa*, onde o asterisco representa qualquer cadeia de caracteres.
|
|
|
2. Realizar commits na branch afim de desenvolver a funcionalidade.
|
|
|
3. Quando a Funcionalidade estiver completa realizar merge com a branch develop
|
|
|
3. Quando a Funcionalidade estiver completa realizar merge com a branch *develop*
|
|
|
|
|
|
### Bugfix
|
|
|
|
|
|
1. Criar uma branch a partir da branch master seguindo a nomenclatura bugfix/*, onde o asterisco representa qualquer cadeia de caracteres.
|
|
|
1. Criar uma branch a partir da branch master seguindo a nomenclatura *bugfix/descricao_da_tarefa*, onde o asterisco representa qualquer cadeia de caracteres.
|
|
|
2. Realizar commits nessa branch com o objetivo de resolver o bug.
|
|
|
3. Realizar o merge da bugfix com a branch develop
|
|
|
3. Realizar o merge da bugfix com a branch master
|
|
|
|
|
|
|
|
|
|
... | ... | @@ -88,11 +104,15 @@ Pessoas pertencentes ao grupo de Ages III e Ages IV devem fazer a revisão do c |
|
|
|
|
|
# Ciclo de Vida Gitflow - do PR à Publicação
|
|
|
|
|
|
Branchs fixas atuais:
|
|
|
Branchs fixas atuais:
|
|
|
|
|
|
• master
|
|
|
|
|
|
• develop
|
|
|
|
|
|
|
|
|
PR serão aprovados para as branchs respeitando a nomenclatura definida na imagem abaixo:
|
|
|
• bugfix/[número da feature] para develop
|
|
|
• feature/[número da feature] para develop
|
|
|
|
|
|
<img src="C:\Users\denis\Pictures\gitflow.png"> |
|
|
\ No newline at end of file |
|
|
• bugfix/[número da feature] para master
|
|
|
|
|
|
• feature/[número da feature] para develop |