In che modo Visual Studio semplifica il controllo della versione con Git

Si è mai desiderato tornare a una versione funzionante precedente del codice? Si trovano manualmente a archiviare copie del codice in posizioni diverse come backup? Beh, il controllo della versione è la risposta.

Git è il sistema di controllo della versione più diffuso. Con Git è possibile tenere traccia delle modifiche apportate al codice nel tempo ed è possibile ripristinare versioni specifiche. Pertanto, se si è uno sviluppatore professionale o se si sta imparando a scrivere codice, l'esperienza Git di Visual Studio può essere molto utile per l'utente.

Suggerimento

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

Iniziare con Git & GitHub in Visual Studio

Il controllo della versione con Visual Studio è facile con Git. Ti incontriamo dove sei. È possibile lavorare in remoto con il provider Git preferito, ad esempio GitHub o Azure DevOps. In alternativa, è possibile lavorare in locale senza provider.

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 .

Se non si ha familiarità con Git, il https://git-scm.com/ sito Web è un buon punto di partenza.

Screenshot of the Create a Git Repository dialog box in Visual Studio.

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.

Flusso di lavoro intuitivo del ciclo interno

Per il flusso di lavoro Git quotidiano, Visual Studio offre un modo semplice per interagire con Git durante la codifica senza dover passare dal codice.

È possibile usare più attività e sperimentare il codice tramite rami. Se l'utente o il team lavora contemporaneamente su più funzionalità o se si vogliono esplorare idee senza influire sul codice di lavoro, la diramazione è molto utile. 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 solo modifiche 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 se si usano computer diversi, sarà necessario recuperare ed eseguire continuamente 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 .

The Visual Studio IDE with the Git menu and the Git Changes tab in Solution Explorer showing.

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.

The Visual Studio IDE that highlights the Git menu and the Git Changes tab in Solution Explorer.

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 Git> Impostazioni sulla barra dei menu o Strumenti>Opzioni>controllo>del codice sorgente Git Global Impostazioni

  2. Scegliere le opzioni desiderate.

    Screenshot of the Options dialog box where you can choose personalization and customization settings in Visual Studio IDE.

Miglioramenti delle prestazioni e della produttività

Quando si tratta degli strumenti Git integrati in Visual Studio, si continua a eseguire l'iterazione sui miglioramenti delle prestazioni e della produttività. Ecco alcuni aggiornamenti rilevanti:

Sono disponibili ancora più aggiornamenti delle funzionalità in Visual Studio 2022 versione 17.6, per includere la possibilità di cercare e collegare i problemi di GitHub e gli elementi di lavoro di Azure DevOps, tra cui alcuni. Per ottenere tutti i dettagli, 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.

The Create a Git Repository dialog box 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.

The Clone a Git Repository dialog box 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.

The Local Repositories option from the Git menu 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 estensione sln.

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

  • Se si clona un repository contenente un singolo file con estensione sln, Esplora soluzioni carica direttamente la soluzione.
  • Se Esplora soluzioni non rileva file con estensione sln nel repository, per impostazione predefinita carica visualizzazione cartelle.
  • Se nel repository sono presenti più file con estensione 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.

Solution Explorer with the Switch Views button selected 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.

The Git Changes window 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.

The line-by-line comparison of file versions 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 Connessione ions.

Selezionare un ramo esistente in Visual Studio 2019

Visual Studio visualizza il ramo corrente nel selettore nella parte superiore della finestra Modifiche Git.

The current branches that you can view by using the selector at the top of the Git Changes selector in Visual Studio

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

The current branches that you can view by using the status bar at the bottom-right corner in the Visual Studio IDE

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.

The Create a New Branch dialog box 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.

The Git Changes window that shows the indicator drop-down UI element 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.

The Git Repository window that shows the commit history of a branch 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.

The Commit Details dialog box 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.

The 'Merge completed with conflicts' message in Visual Studio

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.

The 'Merge in progress with conflicts' message in Visual Studio

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 of 'File contains merge conflicts' message in Visual Studio

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.

The Merge Editor 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 Git> Impostazioni sulla barra dei menu o a Strumenti>Opzioni>controllo del codice sorgente sulla barra dei menu. Scegliere quindi le opzioni desiderate.

The Options dialog box where you can choose personalization and customization settings in Visual Studio IDE.

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.

The Preview Features section of the Options dialog box in Visual Studio