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 Impostazioni globali Git (si applica a tutti i repository) o alla pagina Impostazioni repository Git (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.

    Il menu Git con un callout al comando Impostazioni.

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

    Riquadro di spostamento nella finestra di dialogo Opzioni con un callout per le impostazioni Git.

  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.

    Area di visualizzazione della finestra di dialogo Opzioni con un callout al pulsante OK.

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 in Impostazioni globali di Visual Studio corrispondono alle impostazioni nel file di configurazione specifico dell'utente di Git e le impostazioni in Impostazioni repository 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 config impostazioni user.name e user.email .

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

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

    Riquadro Impostazioni globali Git nella finestra di dialogo Opzioni con un callout per il nome utente di un messaggio di posta elettronica.

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 config fetch.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 Impostazioni globali Git per configurare questa opzione a livello globale. Passare a Impostazioni repository Git 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 che mostra l'opzione 'Prune remote branch during fetch' evidenziata e con 'True' selezionata nell'elenco a discesa.

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 config pull.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 Impostazioni globali Git per configurare questa opzione a livello globale. Passare a Impostazioni repository Git 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 che mostra l'opzione 'Rebase local branch when pulling' evidenziata e 'Merges' selezionata nell'elenco a discesa.

Non è possibile configurare pull.rebase in 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 config http.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 Impostazioni globali Git per configurare questa impostazione.

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

    Screenshot che mostra l'opzione 'Cryptographic network provider' evidenziata con 'OpenSSL' selezionata nell'elenco a discesa.

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 config credential.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 Impostazioni globali Git per configurare questa impostazione.

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

    Screenshot che mostra l'impostazione dell'helper delle credenziali nella finestra di dialogo Opzioni.

Strumenti di unione e diff

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

Screenshot che mostra la sezione per impostare lo strumento Diff predefinito e lo strumento merge nella finestra di dialogo Opzioni.

File Git

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

Screenshot che mostra la sezione per visualizzare e modificare i file Ignora e attributi nel repository.

Repository remoti

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

Screenshot che mostra il riquadro Git Remotes nella finestra di dialogo Opzioni.

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 Impostazioni globali Git.

Posizione predefinita

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

Screenshot che mostra il campo percorso predefinito nella finestra di dialogo Opzioni.

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 che mostra l'impostazione di chiusura della soluzione nella finestra di dialogo Opzioni.

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 che mostra la casella di controllo per abilitare il download delle immagini dell'autore dall'origine di terze parti nella finestra di dialogo Opzioni.

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 che mostra la casella di controllo per eseguire il commit delle modifiche dopo l'unione per impostazione predefinita nella finestra di dialogo Opzioni.

  • 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 che mostra la casella di controllo per abilitare push force con lease nella finestra di dialogo Opzioni.

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 li visualizzerà 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 che mostra la casella di controllo per aprire la cartella all'apertura di un repository Git nella finestra di dialogo Opzioni.

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 che mostra la casella di controllo per caricare automaticamente la soluzione all'apertura di un repository Git nella finestra di dialogo Opzioni.

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 che mostra la casella di controllo per l'estrazione dei rami con doppio clic o Invio chiave nella finestra di dialogo Opzioni.

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.