> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lavorare con i branch

> Crea branch per costruire e testare nuove idee in sicurezza, lavora su più in parallelo, poi uniscili nella tua app quando sono pronti.

I branch ti permettono di provare nuove idee, funzionalità o riprogettazioni senza influire sulla tua app. Ogni branch ha la propria chat e la propria anteprima live, e puoi **lavorare su più branch in parallelo**, poi unire ciascuno nella tua app quando sei soddisfatto del risultato.

<Frame caption="Lavora su diversi branch insieme alla tua app principale">
  <img src="https://mintcdn.com/base44/eYkTlSr5OX-PNhnp/images/Branches-hero.png?fit=max&auto=format&n=eYkTlSr5OX-PNhnp&q=85&s=1bb140d0e46f3e392dfabc8d8b0cd77a" alt="Il menu dei branch che elenca diversi branch accanto all'anteprima dell'app" width="1200" height="660" data-path="images/Branches-hero.png" />
</Frame>

<CardGroup cols={2}>
  <Card title="Testa una riprogettazione" icon="palette">
    Prova un nuovo look per la tua app e confrontalo con la versione corrente. Se cambi idea, basta lasciare il branch.
  </Card>

  <Card title="Mantieni la tua app live pronta" icon="rocket">
    Quando compare una piccola correzione a metà progetto, correggila e pubblicala da main subito. Il tuo lavoro più grande in corso rimane al sicuro sul suo branch.
  </Card>

  <Card title="Costruisci una funzionalità che verrà lanciata più tardi" icon="calendar">
    Lavora in anticipo su un rilascio e mantieni la funzionalità su un branch fino al giorno del lancio.
  </Card>

  <Card title="Lavora in parallelo" icon="users">
    Costruisci su più branch contemporaneamente, e lavora con il tuo team su idee diverse in una volta, ciascuna sul proprio branch.
  </Card>
</CardGroup>

<Note>
  I branch funzionano insieme a una connessione [GitHub](/developers/app-code/local-development/github). Base44 mantiene ogni branch come un vero branch nel tuo repository, e puoi anche [costruire su un branch che è già lì](#importing-a-branch-from-github).
</Note>

***

## Come funzionano i branch

La versione principale della tua app si chiama **main**. Quando crei un branch, Base44 inizia una linea di lavoro separata dallo stato attuale di main.

**Ogni branch ha il proprio:**

* **Chat.** La conversazione su un branch è separata da main, e l'AI mantiene il contesto di quello che hai costruito prima.
* **Anteprima.** Vedi le modifiche del branch in un'anteprima live dedicata, mentre main rimane intatto.
* **Copia del design e delle pagine della tua app.** Le modifiche che fai su un branch restano su quel branch finché non le unisci.
* **Build.** Ogni branch si costruisce da solo, quindi **i branch vengono eseguiti in parallelo** e il lavoro su uno continua mentre costruisci su un altro.
* **Cronologia delle versioni.** Le versioni che salvi su un branch sono elencate su quel branch, e puoi tornare a ciascuna senza toccare main.

**Condiviso tra main e ogni branch:**

* **I dati della tua app.** Ogni branch lavora con gli stessi record live di main, e le modifiche ai record avvengono su main.
* **Connessioni e automazione.** Integrazioni, secret, automazioni, workflow e agenti in-app.
* **Impostazioni dell'app e pubblicazione.** Le impostazioni della tua app, i domini e la versione pubblicata.

<Warning>
  Un branch mostra l'anteprima della tua app con i tuoi dati reali live. I record che aggiungi, modifichi o elimini durante l'anteprima di un branch influiscono sugli stessi dati che la tua app usa ovunque.
</Warning>

<Tip>
  Per sperimentare su un branch senza toccare i tuoi dati live, passa la tua anteprima ai dati di test mentre lavori. I dati di test sono disponibili nel [**piano Builder**](https://base44.com/pricing) e superiori. Scopri di più su [testare la tua app con dati di test](/documentation/managing-app-data/testing-your-data).
</Tip>

***

## Creare un branch

Descrivi cosa vuoi costruire e Base44 crea il branch, lo nomina in base al tuo primo messaggio e inizia a costruire subito.

<Tip>
  **Prima di iniziare:** se la tua app è stata costruita tempo fa, potrebbe essere necessario apportare una modifica su main prima di poter creare il tuo primo branch. Se questo si applica alla tua app, Base44 te lo dice quando provi.
</Tip>

**Per creare un branch:**

1. Nell'editor dell'app, clicca il logo o il nome della tua app in cima al pannello chat.
2. Clicca **Create new branch**.
3. Scegli uno dei suggerimenti, o digita cosa vuoi costruire nella casella di chat.
4. Invia il messaggio.

<Frame caption="Creare il tuo primo branch dal menu dei branch">
  <img className="mx-auto" style={{ width:"55%" }} alt="Il menu dei branch aperto sotto il nome dell'app, con il pulsante Create new branch e il pannello Create New Branch sotto" src="https://mintcdn.com/base44/TFvuxmBp3xPcDe7z/images/creating-new-branch.png?fit=max&auto=format&n=TFvuxmBp3xPcDe7z&q=85&s=9f2cf3f2ac4c3c7c1985676da9bf8c7b" width="660" height="938" data-path="images/creating-new-branch.png" />
</Frame>

<Note>
  I branch iniziano sempre da main. Se crei un branch mentre sei su un altro branch, il nuovo branch parte comunque da main.

  I branch funzionano anche sul tuo telefono, sia in un browser mobile che nell'app Base44. Il menu dei branch appare in cima all'editor non appena la tua app ha un branch, quindi crea il tuo primo branch da un browser desktop, poi passa tra i branch, costruisci e unisci dal tuo telefono.
</Note>

***

## Importare un branch da GitHub

Quando la tua app è collegata a GitHub, puoi costruire su un branch che esiste già nel tuo repository. Base44 lavora su quel branch stesso, quindi le tue modifiche e quelle di Base44 vanno allo stesso branch nel tuo repository.

**Per importare un branch da GitHub:**

1. Nell'editor dell'app, clicca il logo o il nome della tua app in cima al pannello chat.
2. Clicca **Import from GitHub**.
3. Cerca il branch che vuoi, poi selezionalo.
4. Clicca **Import**.

<Note>
  Importi dal repository a cui è collegata la tua app. Un branch che crei in Base44 ottiene un nuovo branch in quello stesso repository.
</Note>

***

## Lavorare su un branch

Mentre sei su un branch, il nome del branch sostituisce il nome della tua app in cima al pannello chat, e un'icona che gira mostra quando l'AI sta lavorando. Costruisci su un branch nello stesso modo in cui costruisci su main: descrivi cosa vuoi nella chat.

Alcune cose funzionano in modo diverso su un branch:

* **Merge to main** sostituisce il pulsante **Publish**. Pubblichi le modifiche da main dopo aver unito.
* L'anteprima mostra la versione del branch della tua app.
* L'URL della pagina include il branch, così puoi condividere un link che apre l'editor dell'app su quel branch.

<Tip>
  **I branch vengono eseguiti in parallelo.** Invia una richiesta su un branch, passa a un altro e continua a costruire lì mentre il primo finisce. La tua app esegue fino a 5 build allo stesso tempo, così tu e il tuo team potete portare avanti diverse idee contemporaneamente, ciascuna sul proprio branch.

  Il menu dei branch mostra quali branch stanno costruendo, così puoi controllarli mentre procedi.
</Tip>

### Azioni che avvengono su main

I branch coprono la maggior parte del lavoro che fai nell'editor dell'app. Queste azioni avvengono su main:

* Pubblicare la tua app
* Creare o modificare secret, connettori, automazioni, workflow e agenti in-app
* Modificare il codice direttamente nell'editor di codice
* Cambiare le impostazioni del tema della tua app
* Annullare un messaggio nella chat, o modificare e reinviarne uno
* Aggiungere una pagina da Figma
* Chiedere all'AI di aggiungere, modificare, eliminare o importare record

<Note>
  Se chiedi una di queste su un branch, Base44 ti chiede di farlo su main o di unire prima il branch.
</Note>

### Entità su un branch

Puoi creare entità e aggiungere campi a entità che hai già su un branch, ed entrambi sono live nell'anteprima di quel branch subito. Su un'entità che crei, imposti tutto, inclusi i [permessi dati](/Setting-up-your-app/Managing-security-settings). Su un'entità che esiste già, si applicano le aggiunte, quindi mantieni un nuovo campo opzionale, perché i tuoi record esistenti non ce l'hanno ancora.

Rimuovere un'entità o un campo, cambiare il tipo di un campo esistente o se è obbligatorio, e cambiare i permessi dati avvengono su main. Apporta la modifica lì e il tuo branch la recepisce subito, senza bisogno di merge o aggiornamento.

I record sono i dati live della tua app, condivisi con main, quindi chiedi all'AI le modifiche ai record su main invece che su un branch. Aggiungere, modificare o eliminare tu stesso record durante l'anteprima di un branch funziona come sempre, e cambia gli stessi dati che la tua app usa ovunque.

### Funzioni backend su un branch

Puoi aggiungere e modificare funzioni backend su un branch. Il branch ottiene la propria copia di ogni funzione che tocchi, l'anteprima del branch chiama quella copia, e unire il branch la distribuisce su main. Se la tua app non può ancora farlo, Base44 ti chiede di apportare modifiche backend su main.

***

## Usare la cronologia delle versioni su un branch

Ogni versione salvata su un branch è elencata nella cronologia delle versioni di quel branch, così puoi guardare indietro a come si è sviluppato il branch e tornare a un punto precedente. Ripristinare una versione cambia solo quel branch, e main rimane esattamente com'è. Un branch unito mantiene la sua cronologia delle versioni leggibile, e puoi ripristinare mentre un branch è ancora attivo.

**Per ripristinare una versione precedente di un branch:**

1. Sul branch, clicca l'icona **Version history** in cima al pannello chat.
2. Clicca una versione nell'elenco per caricarla nell'anteprima.
3. Clicca l'icona **More options** <Icon icon="ellipsis" /> accanto a quella versione.
4. Clicca **Revert to this version**.

Il ripristino riporta le pagine, il design, le entità e le funzioni backend del branch a quella versione, e la chat del branch torna al messaggio che l'ha creata. I tuoi record sono condivisi con main, quindi restano come sono. Le tue versioni successive restano nell'elenco, così puoi avanzare di nuovo quando vuoi.

<Note>
  **Publish this version** è disponibile solo su main, perché la pubblicazione distribuisce sempre la tua app main. Per rilasciare lavoro da un branch, uniscilo in main e pubblica da lì.
</Note>

<Tip>
  Ripristina una versione una volta che il branch ha finito di costruire e ogni aggiornamento da main è completo. Se il branch è occupato, Base44 te lo dice e puoi ripristinare non appena finisce.
</Tip>

***

## Passare tra i branch

Puoi spostarti tra main e i tuoi branch in qualsiasi momento, e ogni branch mantiene le sue modifiche finché non lo unisci. Su un branch, puoi anche cliccare la **X** accanto a **Merge to main** per uscire e tornare a main.

**Per passare a un altro branch o tornare a main:**

1. Clicca il nome del branch in cima al pannello chat.
2. Seleziona un branch dall'elenco, o seleziona **Main chat** per tornare a main.

<Frame caption="Passare tra main e i tuoi branch">
  <img className="mx-auto" style={{ width:"55%" }} alt="Il menu dei branch aperto su un branch, che mostra Main chat sopra l'elenco dei branch" src="https://mintcdn.com/base44/TEODQUOeOLz9wLnr/images/switching-branches.png?fit=max&auto=format&n=TEODQUOeOLz9wLnr&q=85&s=65c7341c40def5c857bf1a5927437e4b" width="692" height="868" data-path="images/switching-branches.png" />
</Frame>

Ogni branch nell'elenco mostra il suo stato attuale:

| Stato       | Significato                                                                          |
| ----------- | ------------------------------------------------------------------------------------ |
| **Active**  | Il branch è aperto e pronto per essere costruito.                                    |
| **Working** | L'AI sta costruendo su questo branch ora.                                            |
| **Merging** | Il branch viene unito in main.                                                       |
| **Merged**  | Il branch è stato unito in main. La sua chat rimane leggibile, ma è di sola lettura. |

<Note>
  Puoi passare tra i branch mentre l'AI sta costruendo, e continua a lavorare sul branch che hai lasciato. Salva o scarta prima eventuali modifiche su main.
</Note>

***

## Aggiornare un branch con le modifiche da main

Se main cambia mentre il tuo branch è aperto, appare un banner sopra la casella di chat sul branch. Ti dice quanto è cambiato su main e se qualcosa si sovrappone al tuo branch.

Quando aggiorni, l'AI combina le modifiche di main con il tuo branch. Se alcune modifiche si sovrappongono, l'AI le risolve per te. Se le due versioni sono davvero in conflitto, l'AI ti pone una domanda nella chat così puoi decidere cosa mantenere.

**Per portare le ultime modifiche di main nel tuo branch:**

1. Sul branch, trova il banner di aggiornamento sopra la casella di chat.
2. Clicca **Update branch**.

Puoi anche avviare un aggiornamento dal menu dei branch. Clicca l'icona **More actions** <Icon icon="ellipsis" /> accanto a un branch, poi clicca **Update from main**.

Chiedi alla chat AI di portare le ultime modifiche di main e mette una card nella chat con un pulsante **Update branch** su cui cliccare.

<Note>
  Se un aggiornamento incontra un problema, Base44 lo annulla e il lavoro del tuo branch rimane invariato.
</Note>

***

## Unire un branch in main

L'unione porta tutto ciò che hai costruito sul branch in main. Le tue modifiche raggiungono gli utenti della tua app solo quando pubblichi da main, così decidi esattamente cosa esce e quando.

Dopo l'unione, un riepilogo delle modifiche del branch appare nella chat di main, e il branch resta nel tuo elenco branch come unito, così puoi ancora leggere la sua cronologia della chat, ma diventa di sola lettura.

**Per unire un branch:**

1. Sul branch, clicca **Merge to main** in cima all'editor.
2. Rivedi la conferma, poi clicca **Merge to main**.

Puoi anche unire dal menu dei branch. Clicca l'icona **More actions** <Icon icon="ellipsis" /> accanto a un branch, poi clicca **Merge to main**.

Chiedi alla chat AI di unire il branch e mette una card nella chat con un pulsante **Merge to main** su cui cliccare.

<Note>
  Se il branch è in conflitto con modifiche fatte su main, Base44 ti chiede di aggiornarlo prima. [Aggiorna il branch da main](#updating-a-branch-with-changes-from-main) per risolvere i conflitti, poi uniscilo di nuovo.
</Note>

***

## Eliminare un branch

Elimina un branch quando hai finito con un'idea e vuoi rimuoverla dal tuo elenco. La tua app e gli altri tuoi branch restano come sono.

<Warning>
  Eliminare un branch è permanente. Rimuove il branch e la sua chat, e non può essere annullato. Per mantenere il lavoro, unisci prima il branch in main.
</Warning>

**Per eliminare un branch:**

1. Clicca il nome del branch in cima al pannello chat.
2. Clicca l'icona **More actions** <Icon icon="ellipsis" /> accanto al branch che vuoi eliminare.
3. Clicca **Delete**.
4. Rivedi la conferma, poi clicca **Delete branch**.

<Frame caption="Aprire il menu More actions su un branch">
  <img className="mx-auto" style={{ width:"58%" }} alt="Il menu dei branch con il menu More actions aperto su un branch, che mostra Merge to main, Update from main e Delete" src="https://mintcdn.com/base44/aGvTNx4rVci6s1Hq/images/more-actions-branches.png?fit=max&auto=format&n=aGvTNx4rVci6s1Hq&q=85&s=5992199dcd0afd42dde4af7fc1b67f67" width="744" height="978" data-path="images/more-actions-branches.png" />
</Frame>

<Note>
  Puoi eliminare un branch una volta che l'AI finisce di costruire su di esso e ogni aggiornamento da main è completo. I branch uniti restano nel tuo elenco come registro del lavoro.
</Note>

***

## FAQ

Clicca una domanda qui sotto per saperne di più sui branch.

<AccordionGroup>
  <Accordion title="Posso pubblicare la mia app da un branch?">
    No. La pubblicazione avviene sempre da main. Su un branch, il pulsante **Publish** viene sostituito da **Merge to main**. Unisci prima il branch, poi pubblica da main.
  </Accordion>

  <Accordion title="Un branch ha i propri dati?">
    No. Tutti i branch condividono gli stessi dati live di main. Se aggiungi, modifichi o elimini record durante l'anteprima di un branch, quelle modifiche influiscono sui dati reali della tua app ovunque. Per mantenere gli esperimenti separati dai tuoi dati live, passa la tua anteprima ai [dati di test](/documentation/managing-app-data/testing-your-data) mentre lavori sul branch.
  </Accordion>

  <Accordion title="Quanti branch posso avere?">
    Non c'è un limite prestabilito. Puoi tenere quanti branch vuoi contemporaneamente e unire ciascuno quando è pronto.
  </Accordion>

  <Accordion title="Cosa succede a un branch dopo averlo unito?">
    Il branch rimane nel tuo elenco branch, contrassegnato come unito, e diventa di sola lettura. Puoi aprirlo e leggere la sua cronologia chat in qualsiasi momento, il che mantiene un registro di come è avvenuto il lavoro. Per continuare da dove ha lasciato, crea un nuovo branch da main.
  </Accordion>

  <Accordion title="Io e il mio team possiamo lavorare su branch diversi contemporaneamente?">
    Sì. Ogni collaboratore può aprire un branch diverso e chattare lì, e ogni branch si costruisce da solo. La tua app esegue fino a 5 build allo stesso tempo, e tutto ciò che va oltre aspetta in coda e viene eseguito in ordine.

    Creare un branch richiede l'accesso in modifica all'app, quindi i membri con il ruolo **Viewer** possono aprire branch e leggere le loro chat. Scopri di più sui [ruoli nel tuo workspace](/Account-and-billing/Managing-your-workspaces).
  </Accordion>

  <Accordion title="I branch usano crediti extra?">
    No. Costruire su un branch usa crediti nello stesso modo in cui costruisci su main, dallo stesso saldo crediti.
  </Accordion>

  <Accordion title="Posso usare i branch su un'app collegata a GitHub?">
    Sì. Crea un branch come faresti su qualsiasi app, e Base44 aggiunge il branch corrispondente al tuo repository [GitHub](/developers/app-code/local-development/github) collegato. Per costruire su un branch che è già nel tuo repository, usa [Import from GitHub](#importing-a-branch-from-github).
  </Accordion>

  <Accordion title="Posso collegare la mia app a GitHub mentre ho branch?">
    Sì. Base44 aggiunge i tuoi branch aperti al repository quando ti colleghi, quindi non c'è nulla da unire o eliminare prima. Se un branch sta costruendo in quel momento, aspetta che finisca, poi collegati.
  </Accordion>

  <Accordion title="Posso usare i branch su un'app che ho migrato in Base44?">
    Le app che hai portato con [Import existing project](/Getting-Started/migrating-an-existing-app) continuano a funzionare con i branch git nel loro repository, quindi il menu dei branch non fa parte dell'editor dell'app per loro.
  </Accordion>
</AccordionGroup>

<Note>Questa pagina è stata tradotta con l'AI. Per le informazioni più accurate e aggiornate, consulta la [versione inglese](/). </Note>
