Condividi tramite


Informazioni su Git in Visual Studio

Visual Studio offre un'interfaccia utente per Git, un sistema di controllo della versione moderno ampiamente usato. Indipendentemente dal fatto che il codice sorgente sia ospitato in un repository GitHub, Azure DevOps o in un altro provider Git, è possibile eseguire tutte le attività comuni di controllo della versione all'interno dell'IDE di Visual Studio. In alternativa, è possibile lavorare in locale senza provider, con l'opzione per eseguire il backup dell'origine in un secondo momento quando si è pronti per connettersi a un provider.

Il codice sorgente con cui si lavora non deve essere stato creato con Visual Studio. È possibile usare qualsiasi cartella di origine in qualsiasi repository Git, indipendentemente dal fatto che sia presente o meno un file di progetto di Visual Studio.

Iniziare con Git e GitHub in Visual Studio

Per iniziare a usare Git con Visual Studio:

  • Se si dispone di un repository Git ospitato in un provider Git come GitHub, clonare il repository nel computer locale.

  • In caso contrario, è possibile creare facilmente un nuovo repository Git e aggiungere il codice. Se non si ha ancora un provider Git, è consigliabile iniziare con GitHub perché l'esperienza Git in Visual Studio è ottimizzata per questo provider. GitHub offre spazio di archiviazione del codice cloud gratuito e protetto, in cui è possibile archiviare il codice e accedervi da qualsiasi dispositivo, ovunque.

Non solo è possibile aggiungere sia account GitHub che GitHub Enterprise al keychain, ma è anche possibile sfruttarli come si fa con gli account Microsoft. Se non si ha un account GitHub, seguire questa procedura per creare un account GitHub da usare con Visual Studio ora.

Screenshot della finestra di dialogo Crea repository Git in Visual Studio.

Se si vogliono usare i comandi Git nella riga di comando, è consigliabile installare anche Git per Windows (non un prodotto Microsoft).

Visualizzare i file in Esplora soluzioni

Quando si clona un repository o si apre un repository locale, Visual Studio passa al contesto Git. Esplora soluzioni carica la cartella nella radice del repository Git e analizza l'albero delle directory per individuare eventuali file visualizzabili, ad esempio CMakeLists.txt o quelli con l'estensione di file .sln. Per ulteriori informazioni, vedere Aprire i file in Esplora soluzioni.

Rami e repository remoti

È possibile usare rami per mantenere le modifiche correlate separate da modifiche non correlate su cui si sta lavorando. Il flusso di lavoro Git consigliato usa un nuovo ramo per ogni funzionalità o correzione su cui si lavora. Informazioni su come creare un di ramo da Visual Studio.

Dopo aver creato un nuovo ramo e passare a esso, è possibile iniziare a lavorare modificando i file esistenti o aggiungendone di nuovi e quindi eseguendo il commit del lavoro nel repository. Per altre informazioni su come eseguire un commit in Visual Studio e comprendere meglio gli stati dei file in Git, vedere la pagina Effettuare un commit.

Git è un sistema di controllo della versione distribuita, ovvero tutte le modifiche apportate finora sono modifiche solo locali. Per contribuire a queste modifiche a un repository remoto, è necessario eseguire il push di tali commit locali in unremoto.

Se si lavora in un team o si usano computer diversi, potrebbe essere spesso necessario recuperare ed eseguire il pull di nuove modifiche nel repository remoto. Per altre informazioni sulla gestione delle operazioni di rete Git in Visual Studio, vedere la pagina Fetch, pull, push e sync.

L'IDE di Visual Studio con il menu Git e la scheda delle Modifiche Git mostrata in Esplora soluzioni.

Gestione e collaborazione dei repository

Tuttavia, in alcuni casi è più opportuno concentrarsi sul repository Git. Ad esempio, potrebbe essere necessario ottenere una buona immagine di ciò che il team sta lavorando o copiare un commit da un ramo diverso o semplicemente pulire i commit in uscita. Visual Studio include potenti funzionalità di esplorazione repository e collaborazione che eliminano la necessità di usare altri strumenti.

Per concentrarsi sul repository Git, Visual Studio ha una finestra repository Git, che è una visualizzazione consolidata di tutti i dettagli nel repository, inclusi rami locali e remoti e cronologia dei commit. È possibile accedere a questa finestra direttamente da Git o Visualizza sulla barra dei menu o dalla barra di stato.

L'IDE di Visual Studio che evidenzia il menu Git e la scheda Modifiche Git in Esplora soluzioni.

Esplorare e gestire repository Git

Per altre informazioni su come usare la finestra Repository Git in Visual Studio per esplorare e gestire il repository Git, vedere le pagine seguenti:

Gestire i conflitti di unione

I conflitti possono verificarsi durante un'unione se due sviluppatori modificano le stesse righe in un file e Git non conoscono automaticamente quale sia corretto. Git interrompe l'unione e informa che si è in uno stato in conflitto. Per maggiori informazioni, consultare la pagina Risoluzione dei conflitti di merge.

Personalizzare le impostazioni Git

Per personalizzare le impostazioni Git a livello di repository e a livello globale:

  1. Passare a Git>Impostazioni sulla barra dei menu o Strumenti>Opzioni>Controllo del codice sorgente>Impostazioni globali Git

  2. Scegliere le opzioni di desiderate.

    Screenshot della finestra di dialogo Opzioni in cui è possibile scegliere le impostazioni di personalizzazione nell'IDE di Visual Studio.

Miglioramenti della produttività

In Visual Studio 2022 versione 17.12è possibile selezionare qualsiasi sezione di codice. quindi fare clic con il pulsante destro del mouse, espandere il sottomenu Git e scegliere Copia gitHub Permalink (o copiare AzureDevOps Permalink) per generare un GitHub Permalink o Azure DevOps Permalink e copiarlo negli Appunti. Da qui è possibile incollarlo in qualsiasi punto in cui potrebbe essere usato un collegamento, nel browser o condividerlo tramite posta elettronica, sessioni di chat e documenti. È anche possibile eseguire la stessa operazione nella visualizzazione dei dettagli del commit incorporato nella finestra del repository Git . Questa funzionalità consente di fare riferimento a codice specifico dei commit precedenti senza cambiare rami. È necessario essere connessi a Visual Studio con un account presso il provider di hosting Git, GitHub o Azure DevOps.

In Visual Studio 2022 versione 17.6, è possibile ricercare e collegare agli problemi di GitHub e agli elementi di lavoro di Azure DevOps. Consulta il post del blog sulle funzionalità Git per migliorare la produttività .

Git è ora il sistema di controllo delle versioni predefinito in Visual Studio 2019. A partire dalla versione 16.6, abbiamo lavorato alla creazione del set di funzionalità e sull'affinamento basato sui vostri commenti e suggerimenti. In versione 16.8, è diventata l'esperienza di controllo delle versioni predefinita per tutti.

Nota

Si continua a compilare ed eseguire l'iterazione nel set di funzionalità Git in Visual Studio 2022anche . Per ulteriori informazioni su un recente aggiornamento delle funzionalità, consultare il post di blog sul supporto per più repository in Visual Studio.

Altre informazioni su Git

Git è il sistema di controllo della versione più diffuso, quindi se si è uno sviluppatore professionista o se si sta imparando a scrivere codice, Git può essere molto utile per l'utente. Se non si ha familiarità con Git, il sito Web https://git-scm.com/ è un buon punto di partenza. Qui sono disponibili fogli di trucco, un libro online popolare e video di Base su Git.

Iniziare con Git in Visual Studio 2019

Verrà illustrato come usare la nuova esperienza Git in Visual Studio, ma se si vuole iniziare una breve presentazione, vedere il video seguente:

Lunghezza video: 5,27 minuti

Esistono tre modi per iniziare a usare Git con Visual Studio per essere più produttivi:

  • Creare un nuovo repository Git. Se il codice non è già associato a Git, è possibile iniziare creando un nuovo repository Git.
  • Clonare un repository Git esistente. Se il codice su cui si vuole lavorare non è presente nel computer, è possibile clonare eventuali repository remoti esistenti.
  • Aprire un repository Git esistente. Se il codice è già nel computer, è possibile aprirlo usando File>Open>Project/Solution (o Folder) e Visual Studio rileva automaticamente se dispone di un repository Git inizializzato.

Nota

A partire da Visual Studio 2019 versione 16.8, è inclusa un'esperienza di account GitHub completamente integrata. È ora possibile aggiungere account GitHub e GitHub Enterprise al keychain. È possibile aggiungerli e sfruttarli esattamente come si fa con gli account Microsoft, il che significa che si avrà un tempo più semplice per accedere alle risorse GitHub in Visual Studio. Per ulteriori informazioni, consulta la pagina Lavora con gli account GitHub in Visual Studio.

Consiglio

Se non si ha un account GitHub, è possibile iniziare seguendo i passaggi descritti nella pagina Creare un account GitHub da usare con Visual Studio.

Creare un nuovo repository Git in Visual Studio 2019

Se il codice non è associato a Git, è possibile iniziare creando un nuovo repository Git. A tale scopo, selezionare Git>Crea repository Git dalla barra dei menu. Quindi, nella finestra di dialogo Crea un repository Git immettere le informazioni.

La finestra di dialogo

La finestra di dialogo Creare un repository Git semplifica il push del nuovo repository in GitHub. Per impostazione predefinita, il nuovo repository è privato, il che significa che si è l'unico che può accedervi. Se si deseleziona la casella, il repository sarà pubblico, il che significa che chiunque in GitHub può visualizzarlo.

Consiglio

Indipendentemente dal fatto che il repository sia pubblico o privato, è consigliabile avere un backup remoto del codice archiviato in modo sicuro in GitHub anche se non si lavora con un team. In questo modo il codice viene reso disponibile anche indipendentemente dal computer in uso.

È possibile scegliere di creare un repository Git solo locale usando l'opzione Solo locale. In alternativa, è possibile collegare il progetto locale a un repository remoto vuoto esistente in Azure DevOps o a qualsiasi altro provider Git usando l'opzione remota esistente.

Clonare un repository Git esistente in Visual Studio 2019

Visual Studio include un'esperienza di clonazione semplice. Se si conosce l'URL del repository da clonare, è possibile incollare l'URL nella sezione percorso repository e quindi scegliere il percorso del disco in cui Visual Studio eseguirà la clonazione.

la finestra di dialogo Clonare un repository Git in Visual Studio.

Se non conosci l'URL del repository, Visual Studio facilita la navigazione fino a e quindi a clonare un repository GitHub o Azure DevOps già esistente.

Aprire un repository locale esistente in Visual Studio 2019

Dopo aver clonato un repository o creato, Visual Studio rileva il repository Git e lo aggiunge all'elenco di repository locali nel menu Git.

Da qui è possibile accedere rapidamente e passare da un repository Git all'altro.

L'opzione Repository locali dal menu Git in Visual Studio

Visualizzare i file in Esplora soluzioni in Visual Studio 2019

Quando si clona un repository o si apre un repository locale, Visual Studio passa a tale contesto Git salvando e chiudendo eventuali soluzioni e progetti aperti in precedenza. Esplora soluzioni carica la cartella nella radice del repository Git e analizza l'albero delle directory per individuare eventuali file visualizzabili. Questi file includono file come CMakeLists.txt o quelli con l'estensione di file .sln.

Visual Studio modifica la visualizzazione in base al file caricato in Esplora soluzioni:

  • Se si clona un repository contenente un singolo file .sln, Esplora soluzioni carica direttamente la soluzione.
  • Se Esplora Soluzioni non rileva alcun file .sln nel repository, per impostazione predefinita carica Vista Cartella.
  • Se il tuo repository contiene più di un file .sln, Esplora soluzioni mostra l'elenco delle viste disponibili tra cui scegliere.

È possibile alternare la visualizzazione attualmente aperta e l'elenco delle visualizzazioni usando il pulsante Cambia visualizzazioni nella barra degli strumenti di Esplora soluzioni.

Esplora soluzioni con il pulsante Cambia visualizzazioni selezionato in Visual Studio.

Per ulteriori informazioni, vedere la sezione Visualizzare i file in Esplora soluzioni dell'esercitazione Aprire un progetto da un repository.

Finestra Modifiche Git in Visual Studio 2019

Git tiene traccia delle modifiche dei file nel repository mentre si lavora e separa i file nel repository in tre categorie. Queste modifiche sono equivalenti a quelle visualizzate quando si immette il comando git status nella riga di comando:

  • file non modificati: questi file non sono stati modificati dopo l'ultimo commit.
  • File modificati: questi file hanno modifiche dall'ultimo commit, ma non sono ancora state preparate per il commit successivo.
  • file in fase di staging: questi file contengono modifiche che saranno aggiunte al commit successivo.

Mentre lavori, Visual Studio tiene traccia delle modifiche ai file del progetto nella sezione Modifiche della finestra Modifiche Git.

la finestra Modifiche Git in Visual Studio.

Quando si è pronti per preparare le modifiche, fare clic sul pulsante + (più) in ogni file da preparare oppure fare clic con il pulsante destro del mouse su un file e quindi scegliere fase. È anche possibile preparare tutti i file modificati con un solo clic usando il pulsante stage all + (più) nella parte superiore della sezione Modifiche.

Quando esegui una modifica, Visual Studio crea una sezione modifiche staggiate. Solo le modifiche apportate alla sezione modifiche a fasi vengono aggiunte al commit successivo, che è possibile eseguire selezionando commit. Il comando equivalente per questa azione è git commit -m "Your commit message". Le modifiche possono anche essere annullate facendo clic sul pulsante - (meno). Il comando equivalente per questa azione è git reset <file_path> per annullare lo stage di un singolo file o git reset <directory_path> per annullare lo stage di tutti i file in una directory.

È anche possibile scegliere di non mettere in staging i file modificati saltando l'area di staging. In questo caso, Visual Studio consente di eseguire direttamente il commit delle modifiche senza dover eseguirne il staging. Immettere il messaggio di commit e quindi selezionare Commit All. Il comando equivalente per questa azione è git commit -a.

Visual Studio semplifica anche il commit e la sincronizzazione con un solo clic usando i tasti di scelta rapida Commit All and Push e Commit All and Sync. Quando si fa doppio clic su qualsiasi file nelle sezioni Modifiche e modifiche a fasi, è possibile vedere un confronto riga per riga con la versione non modificata del file.

Confronto riga per riga delle versioni di file in Visual Studio

Consiglio

È possibile associare un elemento di lavoro di Azure DevOps a un commit usando il carattere "#" se si è connessi al repository Di Azure DevOps. È possibile connettere il repository di Azure DevOps tramite Team Explorer>Gestire le connessioni.

Selezionare un ramo esistente in Visual Studio 2019

Visual Studio visualizza il ramo corrente nel selettore, in cima alla finestra Modifiche Git.

I rami correnti che è possibile visualizzare usando il selettore nella parte superiore del selettore Modifiche Git in Visual Studio

Il ramo corrente è disponibile anche nella barra di stato nell'angolo inferiore destro dell'IDE di Visual Studio.

I rami correnti che è possibile visualizzare usando la barra di stato nell'angolo in basso a destra nell'IDE di Visual Studio

Da entrambe le posizioni è possibile passare da un ramo all'altro.

Creare un nuovo ramo in Visual Studio 2019

È anche possibile creare un nuovo ramo. Il comando equivalente per questa azione è git checkout -b <branchname>.

La creazione di un nuovo ramo è semplice come immettere il nome del ramo e basarla su un ramo esistente.

finestra di dialogo Crea un nuovo ramo in Visual Studio

È possibile scegliere un ramo locale o remoto esistente come base. La casella di controllo del ramo di checkout ti passa automaticamente al ramo appena creato. Il comando equivalente per questa azione è git checkout -b <new-branch><existing-branch>.

Finestra Repository Git in Visual Studio 2019

Visual Studio ha una nuova finestra di repository Git, che è una visualizzazione consolidata di tutti i dettagli nel tuo repository, inclusi tutti i rami, le remote e le cronologie di commit. È possibile accedere a questa finestra direttamente da Git o Visualizza sulla barra dei menu o dalla barra di stato.

Gestire i rami in Visual Studio 2019

Quando si seleziona Gestisci rami dal menu Git, nella finestra Git Repository verrà visualizzata la visualizzazione ad albero dei rami. Nel riquadro sinistro, è possibile usare il menu contestuale del clic destro per cambiare ramo, creare nuovi rami, unire, rebase, cherry-pick e altro ancora. Quando si fa clic sul ramo, è possibile visualizzare un'anteprima della cronologia dei commit nel riquadro destro.

Commit in ingresso e in uscita in Visual Studio 2019

Quando si recupera un ramo, nella finestra modifiche Git è presente un indicatore nel menu a discesa del ramo, che visualizza il numero di commit non recuperati dal ramo remoto. Questo indicatore mostra anche il numero di commit locali non crittografati.

La finestra delle Modifiche Git che mostra l'elemento UI dell'indicatore a discesa in Visual Studio

L'indicatore funziona anche come collegamento per accedere alla cronologia dei commit di tale ramo nella finestra repository Git. Nella parte superiore della cronologia vengono ora visualizzati i dettagli di questi commit in ingresso e in uscita. Da qui è anche possibile decidere di eseguire il pull o il push dei commit.

finestra Repository Git che mostra la cronologia dei commit di un ramo in Visual Studio

Dettagli dei commit in Visual Studio 2019

Quando si fa doppio clic su un Commit, Visual Studio apre i relativi dettagli in una finestra degli strumenti separata. Da qui è possibile ripristinare il commit, reimpostare il commit, modificare il messaggio di commit o creare un tag nel commit. Quando si fa clic su un file modificato nel commit, Visual Studio apre la diff affiancata visualizzazione del commit e del relativo elemento padre.

finestra di dialogo Dettagli del commit in Visual Studio

Gestire i conflitti di unione in Visual Studio 2019

I conflitti possono verificarsi durante un'unione se due sviluppatori modificano le stesse righe in un file e Git non sa automaticamente quale sia corretto. Git interrompe l'unione e informa che si è in uno stato in conflitto.

Visual Studio semplifica l'identificazione e la risoluzione di un conflitto di merge. In primo luogo, nella finestra del repository Git viene visualizzata una barra delle informazioni dorata nella parte superiore della finestra.

Il messaggio

La finestra modifiche Git visualizza anche il messaggio 'Il merge è in corso con conflitti', con i file non uniti nella loro sezione separata sottostante.

Il messaggio

Tuttavia, se non si dispone di queste finestre aperte e si passa al file con conflitti di unione, non sarà necessario cercare il testo seguente:

    <<<<<<< HEAD
    =======
    >>>>>>> main

Visual Studio visualizza invece una barra delle informazioni oro nella parte superiore della pagina che indica che il file aperto presenta conflitti. È quindi possibile fare clic sul collegamento per aprire l'Editor di fusione .

screenshot del messaggio 'File contiene conflitti di unione' in Visual Studio

Editor di Fusione in Visual Studio 2019

L'editor di merge in Visual Studio è uno strumento di unione a tre vie che visualizza le modifiche in ingresso, le modifiche correnti e il risultato dell'unione. È possibile usare la barra degli strumenti al livello superiore dell'editor di merge per spostarsi tra conflitti e differenze unite automaticamente nel file.

Editor di Merge in Visual Studio

È anche possibile usare gli interruttori per mostrare/nascondere le differenze, mostrare/nascondere le differenze di parola e personalizzare il layout. Nella parte superiore di ogni lato sono presenti caselle di controllo che è possibile usare per eseguire tutte le modifiche da un lato o dall'altro. Tuttavia, per apportare modifiche individuali, è possibile fare clic sulle caselle di controllo a sinistra delle righe in conflitto su entrambi i lati. Infine, al termine della risoluzione dei conflitti, è possibile selezionare il pulsante Accetta unione nell'editor di merge. Quindi, si scrive un messaggio di commit e si confermano le modifiche per completare la risoluzione.

Personalizzare le impostazioni Git in Visual Studio 2019

Per personalizzare e personalizzare le impostazioni Git a livello di repository, nonché a livello globale, passare a >Impostazioni Git sulla barra dei menu oppure a Strumenti>Opzioni>controllo del codice sorgente sulla barra dei menu. Scegliere quindi le opzioni di desiderate.

Finestra di dialogo Opzioni in cui è possibile scegliere le impostazioni di personalizzazione e configurazione nell'IDE di Visual Studio.

Come usare l'esperienza completa di Team Explorer in Visual Studio 2019

La nuova esperienza Git è il sistema di controllo versione predefinito in Visual Studio 2019 dalla versione 16.8 in poi. Tuttavia, se si vuole disattivarlo, è possibile. Passare a Strumenti>Opzioni>Ambiente>Funzionalità di anteprima e quindi attivare o disattivare la casella di controllo Nuova esperienza utente Git, che consente di tornare a Team Explorer per Git.

sezione Funzionalità di anteprima della finestra di dialogo Opzioni in Visual Studio

Passaggi successivi

Mancia

Per informazioni sull'uso di Git e GitHub in Visual Studio, iscriversi alla serie di apprendimento git .