Share via


Impostazioni e preferenze git in Visual Studio

In Visual Studio è possibile configurare e visualizzare le impostazioni e le preferenze Git comuni, ad esempio il nome e l'indirizzo di posta elettronica, i diff preferiti e gli strumenti di unione e altro ancora. Queste impostazioni e preferenze possono essere visualizzate e configurate nella finestra di dialogo Opzioni della pagina Git Global Impostazioni (si applica a tutti i repository) o nella pagina Git Repository Impostazioni (si applica al repository corrente).

È possibile configurare due tipi di impostazioni:

  • Impostazioni Git: le impostazioni in questa sezione corrispondono alle impostazioni Git salvate nei file di configurazione Git. Queste impostazioni possono essere visualizzate e modificate in Visual Studio, ma sono gestite dai file di configurazione Git.
  • Impostazioni di Visual Studio : le impostazioni in questa sezione configurano le impostazioni e le preferenze correlate a Git gestite da Visual Studio.

Come configurare le impostazioni

  1. Per configurare le impostazioni Git in Visual Studio, scegliere Impostazioni dal menu Git di primo livello.

    The Git menu with a callout to the Settings command.

  2. Scegliere Git Global Impostazioni o Git Repository Impostazioni per visualizzare e configurare le impostazioni a livello globale o a livello di repository.

    The navigation pane in the Options dialog box with a callout to Git settings.

  3. È possibile configurare diverse impostazioni Git comuni, come descritto nelle sezioni seguenti di questo articolo. Dopo aver configurato le impostazioni desiderate, selezionare OK per salvare le impostazioni aggiornate.

    The display area of the Options dialog box with a callout to the OK button.

Impostazioni Git

È anche possibile configurare e controllare alcune delle impostazioni di configurazione Git più comuni. È possibile visualizzare e modificare le impostazioni seguenti in Visual Studio, anche se sono gestite da file di configurazione Git.

Nota

Le impostazioni Git configurate nell'Impostazioni globale di Visual Studio corrispondono alle impostazioni nel file di configurazione specifico dell'utente di Git e le impostazioni in Repository Impostazioni corrispondono alle impostazioni nel file di configurazione specifico del repository. Per altre informazioni sulla configurazione git, vedere il capitolo Pro Git sulla personalizzazione di Git, la documentazione di git-config e le informazioni di riferimento su Pro Git sui file di configurazione. Per configurare le impostazioni Git non esposte in Visual Studio, usare il git config comando per scrivere un valore nei file di configurazione: git config [--local|--global|--system] section.key value.

Nome e indirizzo di posta elettronica

Il nome e il messaggio di posta elettronica forniti verranno usati come informazioni sul commit per qualsiasi commit eseguito. Questa impostazione è disponibile sia negli ambiti globali che nei repository e corrisponde alle git configimpostazioni di user.name e user.email .

  1. Dal menu Git passare a Impostazioni. Per impostare il nome utente e la posta elettronica a livello globale, passare a Git Global Impostazioni. Per impostare il nome utente e la posta elettronica a livello di repository, passare a Git Repository Impostazioni.

  2. Specificare il nome utente e il messaggio di posta elettronica, quindi scegliere OK per salvare.

    Git Global settings pane in Options dialog box with a callout to username an email.

Eliminare rami remoti durante il recupero

L'eliminazione rimuove i rami di rilevamento remoto che non esistono più nel remoto e consente di mantenere pulito e aggiornato l'elenco dei rami. Questa impostazione è disponibile sia negli ambiti globali che nel repository e corrisponde all'impostazione git configfetch.prune .

È consigliabile impostare questa opzione su True a livello globale. Le impostazioni valide sono, come indicato di seguito:

  • True (scelta consigliata)
  • Falso
  • Unset (impostazione predefinita)

Ecco come modificare le impostazioni:

  1. Dal menu Git passare a Impostazioni. Passare a Git Global Impostazioni per configurare questa opzione a livello globale. Passare a Git Repository Impostazioni per configurare questa opzione a livello di repository.

  2. Impostare Prune remote branch durante il recupero su True (scelta consigliata). Selezionare OK per salvare.

    Screenshot that shows 'Prune remote branches during fetch' highlighted and with 'True' selected from the drop-down.

Eseguire il pull di un ramo locale di rebase

Il rebasing elimina le modifiche apportate dai commit nel ramo corrente che non si trovano nel ramo upstream, reimposta il ramo corrente sul ramo upstream, quindi applica le modifiche che sono state messe da parte. Questa impostazione è disponibile sia negli ambiti globali che nel repository e corrisponde all'impostazione git configpull.rebase . Le impostazioni valide sono, come indicato di seguito:

  • True: eseguire il rebase current branch sopra il ramo upstream dopo il recupero.

  • False: unire il ramo corrente nel ramo upstream.

  • Unset (impostazione predefinita): a meno che non sia specificato in altri file di configurazione, unire il ramo corrente nel ramo upstream.

  • Interattivo: rebase in modalità interattiva.

  • Merge: rebase senza appiattire i commit di merge creati in locale.

    Nota

    In Visual Studio 2022 versione 17.2 è stata modificata l'impostazione "Preserve" in "Merges" in modo che corrisponda a un aggiornamento recente da Git. Pertanto, se si usa una versione precedente di Visual Studio con gli strumenti Git, l'interfaccia utente potrebbe pronunciare "Preserve" anziché "Merge". Tuttavia, la funzionalità rimane invariata.

Ecco come modificare le impostazioni:

  1. Dal menu Git passare a Impostazioni. Passare a Git Global Impostazioni per configurare questa opzione a livello globale. Passare a Git Repository Impostazioni per configurare questa opzione a livello di repository.

  2. Impostare Rebase local branch quando si esegue il pull sull'impostazione desiderata e selezionare OK per salvare.

    Screenshot that shows 'Rebase local branch when pulling' highlighted and 'Merges' selected from the drop-down.

Non è possibile configurare pull.rebasein Interactive in Visual Studio. Visual Studio non dispone del supporto interattivo per la ribase. Per configurare pull.rebase per l'uso della modalità interattiva, usare la riga di comando.

Provider di rete crittografica

Il provider di rete crittografico è un'impostazione di configurazione Git nell'ambito globale che configura il back-end TLS/SSL da usare in fase di esecuzione e corrisponde all'impostazione git confighttp.sslBackend . I valori sono, come indicato di seguito:

  • OpenSSL: usare OpenSSL per i protocolli TLS e SSL.
  • Canale sicuro: usare il canale protetto (schannel) per i protocolli TLS e SSL. Schannel è la soluzione windows nativa, che accede all'archivio delle credenziali di Windows, consentendo così la gestione a livello aziendale dei certificati.
  • Unset (impostazione predefinita): se questa impostazione non è impostata, OpenSSL è l'impostazione predefinita.

Ecco come modificare le impostazioni:

  1. Dal menu Git passare a Impostazioni. Passare a Git Global Impostazioni per configurare questa impostazione.

  2. Impostare Provider di rete crittografico sul valore desiderato e selezionare OK per salvare.

    Screenshot that shows 'Cryptographic network provider' highlighted with 'OpenSSL' selected from the drop-down.

Helper credenziali

Quando Visual Studio esegue un'operazione Git remota, l'endpoint remoto potrebbe rifiutare la richiesta perché richiede credenziali da fornire alla richiesta. In quel momento Git richiama un helper di credenziali, che restituirà le credenziali necessarie per eseguire l'operazione e quindi proverà di nuovo la richiesta. L'helper delle credenziali usato corrisponde all'impostazione git configcredential.helper . È disponibile nell'ambito globale con i valori seguenti:

  • GCM per Windows: usare Git Credential Manager per Windows come helper.
  • GCM Core: usare Git Credential Manager Core come helper.
  • Unset (impostazione predefinita): se questa impostazione non è impostata, viene usato l'helper delle credenziali impostato nella configurazione di sistema. A partire da Git per Windows 2.29, l'helper delle credenziali predefinito è GCM Core.

Ecco come modificare le impostazioni:

  1. Dal menu Git passare a Impostazioni. Passare a Git Global Impostazioni per configurare questa impostazione.

  2. Impostare l'helper credenziali sul valore desiderato e selezionare OK per salvare.

    Screenshot showing the credential helper setting in the Options dialog box.

Strumenti di unione e diff

Git mostrerà differenze e conflitti di merge negli strumenti preferiti. Le impostazioni di questa sezione corrispondono alle git configimpostazioni diff.tool e merge.tool . È possibile configurare Git per usare Visual Studio come strumento di merge o diff in Git Global Impostazioni e Git Repository Impostazioni selezionando Usa Visual Studio. Per configurare altri strumenti diff e merge, usare git config con l'opzione diff.tool o merge.tool .

Screenshot that shows the section to set default Diff tool and Merge tool in the Options dialog box.

File Git

È possibile usare la sezione File Git nell'ambito del repository Git Impostazioni per visualizzare e modificare i file gitignore e gitattributes per il repository.

Screenshot that shows the section to view and edit the Ignore and attributes files in your repository.

Repository remoti

È possibile usare il riquadro Remotes in Git Repository Impostazioni per configurare i remote per il repository. Questa impostazione corrisponde al comando git remote e consente di aggiungere, modificare o rimuovere remote.

Screenshot showing the Git Remotes pane in the Options dialog box.

Altre impostazioni

Per visualizzare tutte le altre impostazioni di configurazione Git, è possibile aprire e visualizzare i file di configurazione stessi oppure eseguire git config --list per visualizzare le impostazioni.

Impostazioni di Visual Studio

Le impostazioni seguenti gestiscono le preferenze correlate a Git in Visual Studio e vengono gestite da Visual Studio anziché dai file di configurazione Git. Tutte le impostazioni in questa sezione vengono configurate nella pagina git Global Impostazioni.

Posizione predefinita

Il percorso predefinito configura la cartella predefinita in cui vengono clonati i repository.

Screenshot showing the default location field in the Options dialog box.

Chiudere le soluzioni aperte non in Git quando si apre un repository

Per impostazione predefinita, Visual Studio chiude qualsiasi soluzione o cartella aperta quando si passa a un altro repository. In questo caso, potrebbe anche caricare la soluzione o la cartella del nuovo repository in base a se si sceglie Apri cartella in Esplora soluzioni all'apertura di un repository Git e Caricare automaticamente la soluzione all'apertura di un repository Git. In questo modo viene mantenuta la coerenza tra il codice aperto e il repository aperto. Tuttavia, se la soluzione non si trova nella stessa radice di cartella del repository, è consigliabile mantenere aperta la soluzione quando si passa al relativo repository. È possibile farlo con questa impostazione. I valori sono, come indicato di seguito:

  • : quando viene aperto un repository, la soluzione attualmente aperta viene sempre chiusa

  • No: quando viene aperto un repository, Visual Studio esegue un controllo sul fatto che la soluzione corrente sia in Git. In caso contrario, la soluzione rimane aperta.

  • Chiedi sempre (impostazione predefinita): quando questa opzione è impostata, è possibile scegliere una finestra di dialogo per ogni repository aperta, indipendentemente dal fatto che si voglia mantenere aperta o chiudere la soluzione corrente.

    Screenshot showing the close solution setting in the Options dialog box.

Abilitare il download delle immagini dell'autore da origini di terze parti

Abilitare il download delle immagini dell'autore da origini di terze parti è un'impostazione specifica di Visual Studio nell'ambito globale. Se selezionata, le immagini dell'autore vengono scaricate dal servizio immagini Gravatar, se disponibile, e visualizzate nelle visualizzazioni commit e cronologia.

Screenshot showing checkbox to enable download of author images from third-party source in the Options dialog box.

Importante

Per fornire immagini di creazione nelle visualizzazioni Commit e Cronologia, lo strumento crea un hash MD5 per gli indirizzi di posta elettronica dell'autore archiviati nel repository attivo. Questo hash viene quindi inviato a Gravatar per trovare un valore hash corrispondente per gli utenti che hanno effettuato l'iscrizione al servizio in precedenza. Se viene trovata una corrispondenza, l'immagine utente verrà recuperata dal servizio e visualizzata in Visual Studio. Gli utenti che non hanno configurato il servizio restituiranno un'immagine generata in modo casuale. Si noti che gli indirizzi di posta elettronica non vengono registrati da Visual Studio, né vengono mai condivisi con Gravatar o con altre terze parti.

Esegui il commit delle modifiche dopo il merge per impostazione predefinita

Quando il commit viene modificato dopo l'unione per impostazione predefinita , Git crea automaticamente un nuovo commit quando un ramo viene unito al ramo corrente.

Screenshot showing the checkbox to commit changes after merge by default in the Options dialog box.

  • Quando selezionata, git merge i comandi emessi da Visual Studio vengono eseguiti con l'opzione --commit .
  • Se deselezionata, git merge i comandi eseguiti da Visual Studio vengono eseguiti con le --no-commit --no-ff opzioni.

Per altre informazioni su queste opzioni, vedere --commit e --no-commit e --no-ff.

Abilita push --force-with-lease

Se abilitata, questa impostazione consente di passare push --force-with-lease da Visual Studio. Per impostazione predefinita, l'opzione Abilita push --force-with-lease è disabilitata.

Screenshot showing the checkbox to enable push force with lease in the Options dialog box.

Per altre informazioni, vedere push --force-with-lease.

Aprire la cartella in Esplora soluzioni all'apertura di un repository Git

Quando si usa Visual Studio per aprire o passare a un repository Git, Visual Studio carica il contenuto Git in modo da poter visualizzare modifiche, commit, rami e gestire il repository dall'IDE. Visual Studio caricherà anche il codice del repository in Esplora soluzioni. Visual Studio analizzerà la cartella del repository per trovare soluzioni, CMakeLists.txt o qualsiasi altro file di visualizzazione riconosciuto e visualizzato come elenco in Esplora soluzioni. Da qui è possibile selezionare una soluzione da caricare o la cartella per visualizzare il contenuto della directory. Quando si disattiva questa casella di controllo, Visual Studio non aprirà la cartella del repository in Esplora soluzioni. Ciò consentirà essenzialmente di aprire Visual Studio solo come gestore repository Git. Questa impostazione è attiva per impostazione predefinita.

Screenshot showing the checkbox to open folder when opening a Git repository in the Options dialog box.

Caricare automaticamente la soluzione all'apertura di un repository Git

Questa impostazione è applicabile solo quando l'impostazione Apri cartella in Esplora soluzioni all'apertura di un repository Git è attivata. Quando si apre un repository Git in Visual Studio e l'analisi di cartelle successiva rileva che nel repository è presente una sola soluzione, Visual Studio carica automaticamente tale soluzione. Se si disattiva l'impostazione, il Esplora soluzioni visualizzerà la singola soluzione presente nel repository nell'elenco di visualizzazioni. Ma non caricherà la soluzione. Per impostazione predefinita, questa impostazione è disattivata.

Screenshot showing the checkbox to automatically load the solution when opening a Git repository in the Options dialog box.

Estrazione automatica dei rami con doppio clic o invio

La finestra Repository Git include un elenco di rami visualizzati in una struttura ad albero. Se si seleziona un ramo, il riquadro cronologia commit verrà modificato per visualizzare i commit per il ramo selezionato. Per estrarre un ramo, è possibile fare clic con il pulsante destro del mouse per aprire il menu di scelta rapida e scegliere Checkout (Checkout). Se si attiva questa impostazione, fare doppio clic o premere INVIO estrae il ramo e visualizzarne i commit.

Screenshot showing the checkbox to check out branches with double-click or Enter key in the Options dialog box.

Importante

Se avete un suggerimento per noi, fateci sapere! Apprezziamo l'opportunità di interagire con l'utente sulle decisioni di progettazione tramite il portale della community per sviluppatori.