Condividi tramite


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 riferimento al comando Impostazioni.

    Il menu Git con un riferimento 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.

Annotazioni

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 posta elettronica

Il nome e l'email che fornisci vengono usati come informazioni sul committer per qualsiasi commit che effettui. Questa impostazione è disponibile sia negli ambiti globali che nei repository e corrisponde alle git config impostazioni di 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 e l'email.

Rimuovere rami remoti durante lo scaricamento

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 Settings (Impostazioni globali Git ) per configurare questa opzione a livello globale; passare a Git Repository Settings (Impostazioni repository Git ) per configurare questa opzione a livello di repository.

  2. Impostare Prune rami remoti durante il fetch su True (scelta consigliata). Selezionare OK per salvare.

    Screenshot che mostra l'opzione 'Potare i rami remoti durante il fetch' evidenziata e con 'Vero' selezionata nell'elenco a discesa.

Rebasare il ramo locale durante il pull

Il rebasing mette da parte le modifiche apportate dai commit nel ramo corrente che non si trovano nel ramo upstream, riporta il ramo corrente al 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 del ramo corrente sul ramo upstream dopo l'estrazione.

  • False: unire il ramo corrente al 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.

    Annotazioni

    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 Settings (Impostazioni globali Git ) per configurare questa opzione a livello globale; passare a Git Repository Settings (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

Non è possibile configurare pull.rebase in Interactive in Visual Studio. Visual Studio non dispone del supporto per il rebase interattivo. 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 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.

Assistente 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 credenziali, che restituisce le credenziali necessarie per eseguire l'operazione e quindi prova nuovamente 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 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 diff e unione

Git mostra differenze e conflitti di unione 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 .

Percorso predefinito

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.

Nome del ramo predefinito

L'impostazione Nome ramo predefinito configura il ramo predefinito per i nuovi repository creati in locale. Se si lascia vuoto, viene usato il valore predefinito per Git installato in locale.

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

Questa impostazione è disponibile in Visual Studio 17.14 e versioni successive.

Chiudere le soluzioni aperte non sotto controllo 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 quando si apre un repository Git e Si carica automaticamente la soluzione all'apertura di un repository Git. Questa impostazione mantiene 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.

Attivare automaticamente più repository

Questa impostazione consente di controllare se Visual Studio spende risorse per attivare più repository contemporaneamente o se ottimizzare il flusso di lavoro attivando un singolo repository alla volta. Se si usa principalmente un singolo repository, è possibile disattivare questa impostazione per migliorare le prestazioni di Visual Studio. Se si modifica l'impostazione, la modifica non diventa effettiva fino alla successiva caricamento della soluzione.

  • (impostazione predefinita): Visual Studio attiva più repository.
  • No: Visual Studio attiva un solo repository.

Screenshot che mostra l'impostazione per l'attivazione automatica di più repository nella finestra di dialogo Opzioni.

Vedere Usare più repository.

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. Quando selezionata, le immagini dell'autore vengono scaricate dal servizio immagini Gravatar, se disponibile, e visualizzate nelle viste di 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 dell'autore nelle visualizzazioni Commit e Cronologia, lo strumento crea un hash MD5 per gli indirizzi email 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 viene recuperata dal servizio e visualizzata in Visual Studio. Gli utenti che non hanno configurato il servizio restituiscono 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.

Eseguire il commit delle modifiche dopo il merge per impostazione predefinita

Quando l'opzione Creare un commit automaticamente dopo l'unione per impostazione predefinita è abilitata, 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 selezionato, i comandi git merge 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.

Abilitare il push --force-with-lease

Se abilitata, questa impostazione consente di eseguire push --force-with-lease all'interno di 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 quando si apre 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 carica anche il codice del repository in Esplora soluzioni. Visual Studio analizza la cartella del repository per trovare soluzioni, CMakeLists.txto qualsiasi altro file di visualizzazione che riconosce e li visualizza 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 apre la cartella del repository in Esplora soluzioni. Questa opzione consente essenzialmente di aprire Visual Studio solo come gestore repository Git. L'impostazione è attivata 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 si attiva l'impostazione Apri cartella in Esplora soluzioni quando si apre un repository Git . 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, Esplora soluzioni visualizza la singola soluzione presente nel repository nell'elenco di visualizzazioni. Ma non carica 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.

Passa automaticamente ai rami con doppio clic o il tasto Invio

La finestra Repository Git include un elenco di rami visualizzati in una struttura ad albero. Selezionando un solo ramo, il riquadro della cronologia dei commit mostra i commit del ramo selezionato. Per fare il checkout di un ramo, è possibile fare clic con il pulsante destro del mouse per aprire il menu contestuale e scegliere Checkout. Se si attiva questa impostazione, fare doppio clic o premere il tasto Invio permette di passare al ramo e visualizzare i suoi commit.

Screenshot che mostra la casella di controllo per l'estrazione dei rami con doppio clic o Invio chiave nella finestra di dialogo Opzioni.

Ripristinare la finestra del Git repository al riavvio

Se selezionata, la finestra Repository Git verrà aperta insieme ad altre finestre permanenti all'avvio dell'IDE di Visual Studio, se la finestra è stata aperta quando Visual Studio è stato chiuso per l'ultima volta. La posizione della finestra viene salvata nel layout della finestra, quindi se la finestra è stata spostata o ancorata, si apre proprio dove era già presente. Deselezionare la casella di controllo per impedire l'apertura della finestra all'avvio di Visual Studio. È comunque possibile aprire manualmente la finestra usando il comando di menu Visualizza, Repository Git , premendo CTRL+0, CTRL+R o premendo CTRL+Q e cercando nel repository Git.

Se si usa regolarmente questa finestra, può essere molto utile aprirla automaticamente all'avvio dell'IDE. Tuttavia, l'apertura e il popolamento della finestra all'avvio possono usare molte risorse di calcolo, quindi, se non si usa attivamente, è più efficiente disabilitare questo comportamento.

Screenshot che mostra l'impostazione della finestra Ripristina repository Git nella finestra di dialogo Opzioni.

Questa impostazione è disponibile in Visual Studio 17.14 e versioni successive. Per altre informazioni, vedere Esplorare un repository.

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 .