> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/it/base-di-conoscenza/044-github-synchronization.md).

# Sincronizzazione con GitHub

**Sincronizzazione GitHub** è una [funzionalità premium](/latex/it/base-di-conoscenza/120-overleaf-premium-features.md). Le funzionalità premium di Overleaf sono disponibili per i partecipanti in [Overleaf Commons](https://www.overleaf.com/for/universities), i membri degli [abbonamenti di gruppo](https://www.overleaf.com/for/groups), e i titolari di abbonamenti individuali [abbonamenti di gruppo](https://www.overleaf.com/user/subscription/plans).

Riepilogo

La funzionalità di sincronizzazione GitHub ti consente di collegare direttamente i tuoi progetti Overleaf a un repository GitHub che funge da repository remoto per il tuo progetto Overleaf e offre un modo per inviare e ricevere modifiche tra i due. La sincronizzazione GitHub può essere utilizzata solo su [Github.com](https://www.github.com) e non può essere utilizzata per connettersi ad altre installazioni enterprise di GitHub.

Puoi sincronizzare un progetto Overleaf con un repository GitHub creando un nuovo progetto Overleaf da un repository GitHub esistente oppure creando un nuovo repository GitHub da un progetto Overleaf esistente. Non è possibile sincronizzare un progetto Overleaf esistente con un repository Github esistente.

* La sincronizzazione GitHub è abilitata collegando il tuo account GitHub al tuo account Overleaf
* I nuovi progetti possono essere creati da repository GitHub esistenti
* I repository possono essere creati in GitHub in base a progetti Overleaf esistenti
* I progetti e i repository collegati vengono mantenuti sincronizzati usando **GitHub** l'opzione nel progetto **Menu**

### Collegare il tuo account Overleaf al tuo account GitHub

Per utilizzare la funzionalità di sincronizzazione GitHub, devi collegare il tuo account Overleaf al tuo account Github. Puoi farlo nel tuo Overleaf [Impostazioni account](https://www.overleaf.com/user/settings). Tieni presente che la capacità di Overleaf di connettersi a determinati repository o organizzazioni associati al tuo account può dipendere dalle impostazioni di अनुमति configurate in GitHub.

### Creazione di un nuovo progetto Overleaf da un repository GitHub

Dal menu Nuovo progetto, puoi selezionare l'opzione GitHub. Ti verrà mostrato un elenco di repository visibili a Overleaf tramite il tuo account GitHub, in base alle impostazioni di autorizzazione di GitHub.

![Crea nuovo github.png](/files/2a15e0e59175ec6704dc93b65204bc21095e228f)

Alcune cose da notare quando si crea un nuovo progetto Overleaf da un repository GitHub esistente.

* Esistono restrizioni di dimensione applicate ai progetti Overleaf che potrebbero impedire l'uso di repository GitHub più grandi per creare un progetto. Consulta [questa pagina](/latex/it/base-di-conoscenza/119-overleaf-plan-limits.md) per una panoramica delle limitazioni applicate alla dimensione e al numero di file in un progetto Overleaf.
* I progetti Overleaf non supportano i sottomoduli Git o Git LFS.

### Creazione di un nuovo repository GitHub da un progetto Overleaf

Dal menu Progetto Overleaf, puoi selezionare GitHub come una delle opzioni di sincronizzazione. Ti verrà mostrata una finestra di dialogo in cui potrai fornire il nome di un nuovo repository GitHub con cui sincronizzare il tuo progetto Overleaf.

![Menu progetto github.png](/files/9ff840bc09d3f5bdf2decbb242af0c01a6b4c7d1)

### Sincronizzazione con GitHub

La sincronizzazione tra GitHub e Overleaf non avviene automaticamente; le opzioni di sincronizzazione vengono mostrate facendo clic su **GitHub** l'opzione nel progetto **Menu**. A quel punto la finestra modale GitHub segnalerà se ci sono nuove modifiche da prelevare da GitHub. Ti verrà sempre presentata l'opzione di inviare le modifiche a GitHub (nota: questa opzione verrà mostrata anche se Overleaf e GitHub sono aggiornati).

![immagine della finestra modale GitHub](/files/cf969cf32fba1c859cdbcfdfdf7f089d23612797)

I commit a GitHub vengono creati quando si fa clic sul pulsante Invia le modifiche di Overleaf a GitHub. In questo momento è possibile fornire un messaggio di commit facoltativo.

* Le modifiche nella cronologia di Overleaf provenienti da GitHub saranno mostrate come attribuite ad anonimo.
* Le modifiche nella cronologia di GitHub provenienti da Overleaf saranno mostrate come attribuite al proprietario dell'account GitHub collegato.

### Risoluzione dei conflitti di merge

Può accadere che, quando vengono apportate modifiche sia in Overleaf sia in Github, Git non riesca a capire come unirle automaticamente. Ad esempio, se il tuo collaboratore ha modificato una riga in Overleaf e tu hai modificato la stessa riga nel repository Github, Overleaf potrebbe non essere in grado di scegliere quale versione mantenere.

Quando ciò accade, invece di eseguire il merge nel tuo branch principale, inviamo un nuovo branch al tuo repository. Questo branch avrà un nome descrittivo (inclusi data e ora di creazione del branch) e contiene la versione del documento in Overleaf. Quando tenterai di sincronizzare con GitHub verrà visualizzato un messaggio che segnalerà la necessità di risolvere un conflitto di merge.

![Finestra di dialogo del conflitto di merge GitHub](/files/1f066296e676733cb08bfc0c002e362aa1f7db89)

Per tornare sincronizzato, devi unire il branch di Overleaf nel tuo branch principale (predefinito). Puoi farlo sul tuo computer estraendo entrambi i branch e unendoli con git o con qualsiasi altro strumento, quindi reinviando il risultato a Github. In alternativa, puoi eseguire il merge direttamente su Github creando una pull request dal branch di Overleaf e usando la loro funzionalità di risoluzione dei conflitti. Entrambi gli approcci sono spiegati nella [documentazione di Github](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts).

### Accesso ai repository nelle tue organizzazioni GitHub

Puoi sincronizzare i progetti Overleaf con i repository associati al tuo account GitHub collegato e puoi anche sincronizzarti con i progetti nelle organizzazioni GitHub di cui fai parte. Per sincronizzarti con i repository nelle tue organizzazioni GitHub associate, tali organizzazioni devono concedere l'autorizzazione ad essere accessibili dall'applicazione OAuth di Overleaf.

* Se sei un membro dell'organizzazione, puoi seguire i passaggi descritti [qui](https://help.github.com/articles/requesting-organization-approval-for-oauth-apps/) per richiedere l'accesso all'app Overleaf per accedere alla tua organizzazione.
* Se sei il proprietario dell'organizzazione, puoi seguire i passaggi descritti [qui](https://help.github.com/articles/approving-oauth-apps-for-your-organization/) per approvare l'app Overleaf per l'organizzazione.

### Limiti dei file della sincronizzazione GitHub

I progetti Overleaf sono soggetti a limitazioni di dimensione individuali, oltre che a limiti sul numero totale di file in un progetto come indicato [qui](/latex/it/base-di-conoscenza/119-overleaf-plan-limits.md). Sebbene Git stesso possa gestire un singolo commit che modifica migliaia di file, l'API GitHub utilizzata dalla funzionalità di sincronizzazione GitHub di Overleaf impone anche limiti al numero di file che possono essere inviati o ricevuti. Si consiglia di limitare il numero di file in un singolo commit a meno di 100 file e la dimensione complessiva del progetto a meno di 100 MB se si utilizza la sincronizzazione GitHub. I progetti al di sopra di queste dimensioni potrebbero funzionare, ma consigliamo di restare entro questi limiti per evitare potenziali problemi di sincronizzazione.

### Disconnessione di un progetto da un repository

Sebbene sia possibile creare più progetti da un singolo repository GitHub esistente, **non è possibile modificare il repository associato a un dato progetto**. Una volta che un progetto è collegato a un repository, non può essere scollegato e usato per creare un nuovo repository. Se devi creare un nuovo repository da un determinato progetto, devi fare una nuova copia del progetto e poi creare il nuovo repository dalla copia.

### Limitazioni note

**Branch**: Il sistema Git di Overleaf non supporta il branching.

**Link simbolici**: Il sistema Git di Overleaf non gestisce i collegamenti simbolici. Un symlink può essere inviato a un progetto Overleaf, ma verrà convertito in un file normale e sovrascriverà il symlink locale al successivo pull del progetto.

**Permessi dei file**: Il sistema Git di Overleaf non preserva i permessi di esecuzione. Quando si lavora con la sincronizzazione GitHub, se eventuali file con il bit di esecuzione su GitHub vengono sincronizzati con Overleaf, Overleaf attiva un commit automatico per reimpostare i permessi dei file.

**Git LFS**: I progetti Overleaf non supportano Git Large File Storage.

**Sottomoduli Git**: I progetti Overleaf possono agire come sottomoduli Git all'interno di altri repository, ma non possono contenere altri sottomoduli Git. Per fare riferimento a file di altri progetti, si consiglia di usare la funzione aggiungi da un altro progetto.

**Revisioni tracciate e commenti**: Purtroppo, i pull da GitHub a Overleaf possono comportare la perdita o lo spostamento delle modifiche tracciate e dei commenti; di conseguenza, non raccomandiamo di combinare il lavoro attivo in GitHub con l'uso delle modifiche tracciate e/o dei commenti.

**Sincronizzazione diretta con GitHub Enterprise o GitLab:** L'API GitHub utilizzata da Overleaf può connettersi solo a repository ospitati su github.com. Puoi sincronizzare indirettamente con progetti ospitati da altri provider usando l'integrazione [Git di Overleaf](/latex/it/base-di-conoscenza/040-git-integration.md) funzionalità.

**Collegamento di un progetto esistente a un repository esistente**: Non è possibile sincronizzare un progetto Overleaf esistente con un repository Github esistente.

**Attribuzione degli invii a GitHub**: L'unico utente Github di cui Overleaf è a conoscenza è l'utente il cui account GitHub è collegato all'account Overleaf e possiede quel progetto. Tutti i commit vengono eseguiti utilizzando un'API GitHub che li effettua esplicitamente usando l'identità di quell'utente. Quindi tutti i commit verranno visualizzati nella cronologia GitHub come provenienti dall'utente collegato. Nella cronologia di Overleaf, le modifiche vengono mostrate come "Anonimo (tramite GitHub)".

**Cronologia Git e cronologia Overleaf:** Le modifiche sul lato Overleaf non hanno una corrispondenza uno a uno con i commit GitHub. Diversi utenti possono apportare modifiche sul lato Overleaf, ma queste modifiche saranno raggruppate in un unico commit sotto l'utente collegato a GitHub quando viene attivata la sincronizzazione.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/it/base-di-conoscenza/044-github-synchronization.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
