# gt: General Translation CLI tool: Tenere traccia delle traduzioni per branch
URL: https://generaltranslation.com/it/docs/cli/guides/branching.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Come tenere separate le traduzioni per ogni branch di Git con General Translation mentre lavori a nuove funzionalità.

Usalo quando un branch di funzionalità aggiunge o modifica contenuti e vuoi che quelle traduzioni restino isolate dalla produzione finché il branch non viene integrato.

*Nota: Branching è una funzionalità di General Translation Cloud e richiede il piano Starter. Senza Starter, la creazione di un branch non predefinito ricade sul branch predefinito.*

## Abilita il branching [#enable]

Passa `--enable-branching` al comando [`gt translate`](/docs/cli/reference/commands/translate). La CLI rileva il branch Git corrente e associa a esso le nuove traduzioni.

```bash
npx gt translate --enable-branching
```

Per impostare manualmente il nome del branch invece di rilevarlo da Git, aggiungi `--branch`.

```bash
npx gt translate --enable-branching --branch my-feature-branch
```

Puoi anche abilitare il branching in `gt.config.json`. I flag della CLI hanno la precedenza su questi valori.

```json title="gt.config.json"
{
  "branchOptions": {
    "enabled": true,
    "autoDetectBranches": true,
    "remoteName": "origin"
  }
}
```

## Come funziona l&#39;ereditarietà [#inheritance]

Quando il Branching è attivo, la CLI identifica il branch corrente e il branch predefinito (dal remote HEAD), quindi tiene traccia della loro relazione:

* **Branch di origine:** il branch da cui è stato creato il tuo. Un nuovo branch di funzionalità eredita da esso tutte le traduzioni esistenti, quindi i contenuti condivisi non vengono ritradotti né addebitati due volte.
* **Branch in ingresso:** i branch uniti al tuo. Le loro traduzioni vengono incorporate nel tuo branch.

Le nuove traduzioni restano associate al tuo branch di funzionalità finché non viene unito. Dopo il merge nel branch predefinito, le traduzioni del branch di funzionalità vengono incorporate automaticamente anche lì.

## Esempio di workflow [#workflow]

1. Crea un branch di funzionalità e aggiungi nuovi contenuti.

   ```bash
   git checkout -b feature/new-landing-page
   ```

2. Traduci con Branching abilitato. Le nuove traduzioni vengono associate a `feature/new-landing-page`.

   ```bash
   npx gt translate --enable-branching
   ```

3. Esegui il merge del branch di funzionalità, quindi traduci nel branch predefinito per includerne le traduzioni.

   ```bash
   git checkout main
   git merge feature/new-landing-page
   npx gt translate --enable-branching
   ```

## Risoluzione dei problemi relativi al rilevamento del branch [#troubleshoot]

* **Branch non rilevato:** impostalo manualmente con `--branch <branch>`.
* **Remote non standard:** se il tuo remote non è `origin`, imposta `--remote-name <name>` o `branchOptions.remoteName`.
* **Usa solo il branch corrente:** aggiungi `--disable-branch-detection` per ignorare il tracciamento dei branch in ingresso e del branch padre.

```bash
npx gt translate --enable-branching --branch my-branch --disable-branch-detection
```

## Next steps

- /docs/cli/guides/generating-translations
- /docs/cli/guides/managing-translations
- /docs/cli/guides/configuring
- /docs/cli/guides/using-auto-jsx

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
