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, 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 account GitHub e GitHub Enterprise al keychain, ma è anche possibile sfruttarli esattamente 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 .

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

Se si vogliono usare i comandi Git nella riga di comando, è consigliabile installare 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 di directory per individuare eventuali file visualizzabili come CMakeLists.txt o quelli con l'estensione di .sln file. Per altre informazioni, vedere Visualizzare 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 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 un repository remoto.

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 .

IDE di Visual Studio con il menu Git e la scheda Modifiche Git in Esplora soluzioni visualizzato.

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 e collaborazione del repository 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.

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 altre informazioni, vedere la pagina Risolvere i conflitti di unione.

Personalizzare le impostazioni Git

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

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

  2. Scegliere le opzioni desiderate.

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

Miglioramenti della produttività

In Visual Studio 2022 versione 17.12 è possibile selezionare una sezione di codice e quindi fare clic con il pulsante destro del mouse sul sottomenu Git e scegliere Copia GitHub Permalink (o Copia 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 all'interno della visualizzazione dei dettagli del commit incorporato nella finestra Repository Git. Questa funzionalità consente di fare riferimento a codice specifico dei commit precedenti senza cambiare rami. È necessario accedere a Visual Studio con un account con il provider di hosting Git, GitHub o Azure DevOps.

In Visual Studio 2022 versione 17.6 è possibile cercare e collegare i problemi di GitHub e gli elementi di lavoro di Azure DevOps. Vedere il post di blog Funzionalità Git per migliorare la produttività.

Git è ora l'esperienza di controllo della versione predefinita in Visual Studio 2019. Dalla versione 16.6, abbiamo lavorato sulla creazione del set di funzionalità e sull'iterazione in base ai commenti e suggerimenti. Nella versione 16.8 è diventata l'esperienza di controllo della versione predefinita per tutti.

Nota

Si continua a compilare e scorrere anche il set di funzionalità Git in Visual Studio 2022.We continue to build out and iterate on the Git feature set in Visual Studio 2022, to to to. Per altre informazioni su un aggiornamento delle funzionalità recente, vedere il post di blog supporto per più repository in Visual Studio .

Scopri di più 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 https://git-scm.com/ sito Web è 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 ha 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 altre informazioni, vedere la pagina Usare gli account GitHub in Visual Studio .

Suggerimento

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 Create Git Repository (Crea repository Git)>dalla barra dei menu. Quindi, nella finestra di dialogo Crea un repository Git immettere le informazioni.

Finestra di dialogo Crea repository Git in Visual Studio.

La finestra di dialogo Crea 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.

Suggerimento

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 Esistente remota .

Clonare un repository Git esistente in Visual Studio 2019

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

Finestra di dialogo Clona un repository Git in Visual Studio.

Se non si conosce l'URL del repository, Visual Studio semplifica l'esplorazione e quindi clonare il repository GitHub o Azure DevOps 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.

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 includono file come CMakeLists.txt o quelli con l'estensione di file .sln.

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

  • Se si clona un repository che contiene un singolo .sln file, Esplora soluzioni carica direttamente la soluzione.
  • Se Esplora soluzioni non rileva alcun .sln file nel repository, per impostazione predefinita carica visualizzazione cartelle.
  • Se nel repository sono presenti più file.sln, Esplora soluzioni visualizza l'elenco delle visualizzazioni disponibili tra cui scegliere.

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

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

Per altre 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 git status comando 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 di staging: questi file presentano modifiche che verranno aggiunte al commit successivo.

Durante il lavoro, Visual Studio tiene traccia delle modifiche apportate al progetto nella sezione Modifiche della finestra Modifiche Git.

Finestra Modifiche Git in Visual Studio.

Quando si è pronti per preparare le modifiche, fare clic sul pulsante (più) su 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 + (plus) nella parte superiore della sezione Modifiche .

Quando si esegue una modifica, Visual Studio crea una sezione Modifiche a fasi. Solo le modifiche nella sezione Modifiche a fasi vengono aggiunte al commit successivo, che è possibile eseguire selezionando Commit a fasi. 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 consiste git reset <file_path> nell'annullare ilstage un singolo file o git reset <directory_path> annullare ilstage tutti i file in una directory.

È anche possibile scegliere di non organizzare i file modificati ignorando l'area di gestione temporanea. 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 (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 collegamenti Commit tutto e Push e Commit e Sincronizza tutto e sincronizza . Quando si fa doppio clic su qualsiasi file nelle sezioni Modifiche e modifiche a fasi, è possibile visualizzare un confronto riga per riga con la versione non modificata del file.

Confronto line-by-line delle versioni di file in Visual Studio

Suggerimento

È 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>Gestisci connessioni.

Selezionare un ramo esistente in Visual Studio 2019

Visual Studio visualizza il ramo corrente nel selettore nella parte superiore della 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 inferiore destro dell'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 Checkout branch consente di passare 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 include una nuova finestra repository Git, che è una visualizzazione consolidata di tutti i dettagli nel 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 Repository Git verrà visualizzata la visualizzazione albero dei rami. Nel riquadro sinistro è possibile usare il menu di scelta rapida del clic con il pulsante destro del mouse per estrarre rami, creare nuovi rami, unire, ribasere, 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 nell'elenco a discesa del ramo, che visualizza il numero di commit non annullati dal ramo remoto. Questo indicatore mostra anche il numero di commit locali non crittografati.

Finestra Modifiche Git che mostra l'elemento dell'interfaccia utente dell'elenco a discesa indicatore 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 commit in Visual Studio 2019

Quando si fa doppio clic su 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 visualizzazione Diff affiancata del commit e del relativo elemento padre.

Finestra di dialogo Dettagli 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. Prima di tutto, nella finestra Repository Git viene visualizzata una barra delle informazioni gold nella parte superiore della finestra.

Messaggio

Nella finestra Modifiche Git viene visualizzato anche un messaggio "Merge is in progress with conflicts" (Unione in corso con conflitti), con i file non salvati nella sezione separata sottostante.

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 merge.

Screenshot del messaggio

Editor di merge 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. Si scrive quindi un messaggio di commit e si esegue il commit delle modifiche per completare la risoluzione.

Personalizzare le impostazioni Git in Visual Studio 2019

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

Finestra di dialogo Opzioni in cui è possibile scegliere le impostazioni di personalizzazione e personalizzazione 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 della versione predefinito in Visual Studio 2019 dalla versione 16.8 in poi. Tuttavia, se si vuole disattivarlo, è possibile. Passare a Strumenti>Opzioni ambiente>->Anteprima funzionalità e quindi attivare/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

Suggerimento

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