

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Estratégia de filiais em um tronco
<a name="branches-in-a-trunk-strategy"></a>

Uma estratégia de ramificação de tronco geralmente tem as seguintes ramificações.



![As ramificações e ambientes em uma estratégia de ramificação de troncos.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/choosing-git-branch-approach/images/trunk-branching-strategy.png)


## ramificação de recursos
<a name="feature-branch"></a>

Você desenvolve recursos ou cria um hotfix em uma `feature` ramificação. Para criar uma `feature` ramificação, você ramifica a partir da `main` ramificação. Os desenvolvedores iteram, confirmam e testam o código em uma `feature` ramificação. Quando um recurso é concluído, o desenvolvedor promove o recurso. Há apenas dois caminhos a partir de uma `feature` ramificação:
+ Mesclar com a filial `sandbox`
+ Crie uma solicitação de mesclagem na filial `main`


|  |  | 
| --- |--- |
| Convenção de nomenclatura: | `feature/<story number>_<developer initials>_<descriptor>` | 
| Exemplo de convenção de nomenclatura: | `feature/123456_MS_Implement_Feature_A` | 

## filial de sandbox
<a name="sandbox-branch"></a>

Essa ramificação é uma ramificação de tronco não padrão, mas é útil para o desenvolvimento de pipeline de CI/CD. A `sandbox` filial é usada principalmente para os seguintes propósitos:
+ Execute uma implantação completa no ambiente sandbox usando os pipelines CI/CD 
+ Desenvolva e teste um pipeline antes de enviar solicitações de mesclagem para testes completos em um ambiente inferior, como desenvolvimento ou teste.

`Sandbox`as filiais são de natureza temporária e devem ter vida curta. Eles devem ser excluídos após a conclusão do teste específico.


|  |  | 
| --- |--- |
| Convenção de nomenclatura: | `sandbox/<story number>_<developer initials>_<descriptor>` | 
| Exemplo de convenção de nomenclatura: | `sandbox/123456_MS_Test_Pipeline_Deploy` | 

## ramificação principal
<a name="main-branch"></a>

A `main` ramificação sempre representa o código que está sendo executado na produção. O código é ramificado`main`, desenvolvido e depois mesclado novamente. `main` As implantações do `main` podem ter como alvo qualquer ambiente. Para se proteger contra exclusão, ative a proteção de ramificação para a `main` ramificação.


|  |  | 
| --- |--- |
| Convenção de nomenclatura: | `main` | 

## ramificação de hotfix
<a name="hotfix-branch"></a>

Não há `hotfix` ramificação dedicada em um fluxo de trabalho baseado em troncos. Os hotfixes usam `feature` ramificações.