

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Strategia Branches in a Trunk
<a name="branches-in-a-trunk-strategy"></a>

Una strategia di ramificazione Trunk ha in genere i seguenti rami.



![I rami e gli ambienti in una strategia di ramificazione Trunk.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/choosing-git-branch-approach/images/trunk-branching-strategy.png)


## ramo di funzionalità
<a name="feature-branch"></a>

Sviluppate funzionalità o create un hotfix in un `feature` ramo. Per creare un `feature` ramo, si distacca dal `main` ramo. Gli sviluppatori eseguono iterazioni, eseguono il commit e testano il codice in un `feature` ramo. Quando una funzionalità è completa, lo sviluppatore la promuove. Ci sono solo due percorsi che partono da un `feature` ramo:
+ Unisciti al ramo `sandbox`
+ Crea una richiesta di unione nel ramo `main`


|  |  | 
| --- |--- |
| Convenzione di denominazione: | `feature/<story number>_<developer initials>_<descriptor>` | 
| Esempio di convenzione di denominazione: | `feature/123456_MS_Implement_Feature_A` | 

## ramo sandbox
<a name="sandbox-branch"></a>

Questo ramo è un ramo principale non standard, ma è utile per lo sviluppo di pipeline CI/CD. Il `sandbox` ramo viene utilizzato principalmente per i seguenti scopi:
+ Esegui una distribuzione completa nell'ambiente sandbox utilizzando le pipeline CI/CD 
+ Sviluppa e testa una pipeline prima di inviare richieste di unione per il test completo in un ambiente inferiore, come lo sviluppo o il test.

`Sandbox`le filiali sono di natura temporanea e sono destinate ad avere vita breve. Dovrebbero essere cancellate dopo il completamento del test specifico.


|  |  | 
| --- |--- |
| Convenzione di denominazione: | `sandbox/<story number>_<developer initials>_<descriptor>` | 
| Esempio di convenzione di denominazione: | `sandbox/123456_MS_Test_Pipeline_Deploy` | 

## ramo principale
<a name="main-branch"></a>

Il `main` ramo rappresenta sempre il codice in esecuzione in produzione. Il codice viene ramificato da`main`, sviluppato e quindi ricongiunto a. `main` Le implementazioni di `main` potrebbero riguardare qualsiasi ambiente. Per proteggerla dall'eliminazione, abilita la protezione della `main` filiale.


|  |  | 
| --- |--- |
| Convenzione di denominazione: | `main` | 

## ramo hotfix
<a name="hotfix-branch"></a>

Non esiste un `hotfix` ramo dedicato in un flusso di lavoro basato su trunk. Gli hotfix utilizzano i rami. `feature`