# gt: General Translation CLI tool: Tenere traccia delle traduzioni per branch URL: https://generaltranslation.com/it/docs/cli/guides/branching.mdx --- title: Tenere traccia delle traduzioni per branch description: Come tenere separate le traduzioni per ogni branch di Git con General Translation mentre lavori a nuove funzionalità. related: links: - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring - /docs/cli/guides/using-auto-jsx --- Branching tiene separate le traduzioni per ogni branch di Git. 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 un piano a pagamento. In caso contrario, 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'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 `. * **Remote non standard:** se il tuo remote non è `origin`, imposta `--remote-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