Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si unisce un ramo a un altro, le modifiche apportate ai file dai commit in un ramo possono essere in conflitto con le modifiche nell'altra. Git tenta di risolvere queste modifiche usando la cronologia nel repository per determinare l'aspetto dei file uniti. Quando non è chiaro come unire le modifiche, Git interrompe l'unione e indica quali file sono in conflitto.
Impedire conflitti di unione
Git è utile per unire automaticamente le modifiche ai file nella maggior parte dei casi, purché il contenuto del file non cambi notevolmente tra i commit. Se il tuo ramo è molto indietro rispetto al tuo ramo principale, considera di ribasare i rami prima di aprire una pull request. I rami ricalcati verranno integrati nel ramo principale senza conflitti.
Risolvere i conflitti di unione
- Se si collabora con altri utenti nello stesso ramo, è possibile che vengano visualizzati conflitti di merge quando si fa push delle modifiche.
Visual Studio rileva se il ramo locale su cui si sta lavorando si trova dietro il ramo di rilevamento remoto e offre opzioni tra cui scegliere.
Nota
Se il repository remoto supporta Force Push, è possibile abilitarlo usando Git>Settings.
In questo esempio selezionare pull e quindi eseguire il push per includere le modifiche introdotte nel repository remoto. Se si verificano conflitti di unione quando si eseguono il pull delle modifiche o si tenta di unire due rami, Visual Studio informa l'utente nella finestra Git Changes, nella finestra Git Repository e in tutti i file con conflitti.
La finestra Cambiamenti Git mostra un elenco di file con conflitti in Modifiche non unite. Per iniziare a risolvere i conflitti, fare doppio clic su un file. In alternativa, se nell'editor è aperto un file con conflitti, è possibile selezionare Apri editor di merge.
Nell'editor di merge iniziare a risolvere il conflitto usando uno dei metodi seguenti (come illustrato nello screenshot numerato):
Esamina i tuoi conflitti riga per riga e scegli se mantenere il lato destro o quello sinistro selezionando le caselle di controllo.
- o -
Selezionare il pulsante Prendi Modifiche in Ingresso (o premere F10) per accettare tutte le modifiche in ingresso, oppure il pulsante Prendi Versione Corrente (o premere F11) per mantenere la versione corrente di tutte le modifiche in conflitto. È possibile eseguire la stessa operazione selezionando una delle caselle di controllo nella parte superiore di una cornice affiancata.
- o -
Modifica manualmente il codice nella finestra Risultato .
Al termine della risoluzione dei conflitti di merge, devi selezionare Accetta merge. Ripetere questo processo per tutti i file in conflitto.
Usare la finestra modifiche Git per creare un commit di merge e risolvere il conflitto.
Nota
Per risolvere i conflitti senza aprire l'editor di merge, fare clic con il pulsante destro del mouse su un file, una cartella o la radice del repository in Modifiche non unite. Per un singolo file, selezionare Mantieni corrente (locale). Per risolvere tutti i conflitti nell'ambito selezionato, selezionare Mantieni tutto attuale o Accetta tutto quello in arrivo. Per informazioni dettagliate, vedere Risolvere i conflitti in blocco.
Nota
Se si desidera mantenere tutte le modifiche apportate a un file, è possibile fare clic con il pulsante destro del mouse nella sezione Modifiche non unite e selezionare Mantieni la versione corrente (locale) senza dover aprire l'Editor di Unione.
Suggerimento
Per altre informazioni sulle opzioni di accessibilità disponibili, vedere la sezione tasti di scelta rapida Git della pagina Suggerimenti per l'accessibilità per Visual Studio.
Risolvere i conflitti in blocco
A partire da Visual Studio 2026 versione 18.11, è possibile risolvere i conflitti per un file, una cartella o l'intero repository in un unico passaggio quando si vuole mantenere lo stesso lato per tutti i file interessati.
- In Modifiche Git, trova Modifiche non unite.
- Fare clic con il pulsante destro del mouse su un file, una cartella o una radice del repository.
- Selezionare Mantieni tutto corrente per mantenere le versioni correnti o Accetta tutte le versioni in ingresso per accettare le versioni in ingresso.
L'azione si applica al file selezionato o ai file in conflitto sotto la cartella selezionata o la radice del repository. Esaminare l'ambito prima di scegliere un'azione. Questi comandi bulk sono un'alternativa alla risoluzione di ogni file nell'editor di merge. Sono diversi dai pulsanti Take Current e Take Incoming .
Dopo aver risolto tutti i conflitti, usare Git Changes per creare il commit di merge come descritto in Risolvere i conflitti di merge.
Configurare lo strumento diff
Se si imposta il file .gitconfig per usare uno strumento diff di terze parti, ad esempio BeyondCompare o KDiff3, Visual Studio lo rispetta. Ogni volta che Visual Studio visualizza normalmente un diff, viene aperta una finestra separata nello strumento preferito. Per un esempio, vedere questa domanda stack overflow.