Condividi tramite


Esplorare i repository Git e confrontare i rami in Visual Studio

La finestra Modifiche Git offre un modo semplice per interagire con Git durante la codifica senza dover passare dal codice. In alcuni casi, tuttavia, è più opportuno concentrarsi sul repository Git. Ad esempio, potrebbe essere necessario ottenere una buona immagine di ciò che il team sta lavorando o forse confrontare due commit per analizzare un bug.

È possibile lavorare in remoto con il provider Git preferito, ad esempio GitHub o Azure DevOps.

Esplorare i rami locali e remoti

Per iniziare, aprire la finestra Repository Git selezionando Repository Git dal menu Visualizza (o usando il+ tasto di scelta rapida CTRL0, CTRL+R). È anche possibile accedere alla finestra Repository Git selezionando i collegamenti in uscita/in ingresso nella finestra Modifiche Git e sulla barra di stato.

Screenshot che mostra l'anatomia della finestra Repository Git.

La finestra Repository Git contiene tre sezioni principali, come numerato nello screenshot precedente:

  1. Rami/tag: Git consente agli utenti di eseguire il multitasking e sperimentare il codice tramite rami. La diramazione in Git è utile in diversi scenari, in particolare quando si lavora su progetti complessi con più funzionalità o quando si collabora con un team. Con Visual Studio 17.13 e versioni successive è possibile visualizzare i tag nel repository e passare a qualsiasi tag. Il team può usare tag Git (ad esempio , v1.0), per contrassegnare i punti nella cronologia del repository e visualizzare lo stato del repository in quel momento nella cronologia. Vedere Git - Tagging.

    Screenshot che mostra i tag Git nella finestra Repository Git.

  2. Grafico: questa sezione visualizza lo stato del ramo. Include tre sottosezioni:

    • In ingresso vengono visualizzati i commit in ingresso che il team ha contribuito.
    • In uscita vengono visualizzati i commit locali che non sono ancora stati inseriti.
    • Cronologia locale mostra il resto dei commit rilevati dal repository locale.
  3. Commit: per aprire questa sezione, selezionare qualsiasi commit nella sezione Graph . È possibile controllare le modifiche introdotte da un commit selezionandole, che mostra una differenza. Ad esempio, lo screenshot precedente mostra le modifiche introdotte da un commit nel file Resize.cs .

I tasti discelta rapida alt+su o freccia GIÙ+ alt consentono di spostarsi tra queste sezioni.

È possibile esplorare qualsiasi ramo locale o remoto senza dover cambiare ramo. Quando si trova un commit su cui si vuole concentrarsi, selezionare il pulsante Apri in nuova scheda per aprire il commit in una scheda diversa.

Screenshot di come aprire un commit in una nuova scheda.

Screenshot della scheda per i dettagli del commit.

Suggerimento

Per visualizzare il commit a schermo intero, scollegare la scheda Commit e ingrandire la finestra Commit usando il pulsante Ingrandisci . È anche possibile selezionare la configurazione diff preferita selezionando Configurazione diff (icona a forma di ingranaggio).

Screenshot dei dettagli del commit a schermo intero con configurazioni diff.

Visualizzazione grafico a più rami

Novità con la versione 17.7: quando si apre la finestra Repository Git, si inizia nella visualizzazione a ramo singolo. È quindi possibile selezionare qualsiasi ramo per aggiungere il ramo e i relativi commit a una visualizzazione a grafo a più rami, che aggiunge segnali visivi che lo rendono più efficiente per interagire con più rami.

Screenshot della visualizzazione ramo multigrafo in Visual Studio.

Sul lato sinistro della visualizzazione Cronologia locale è presente sia la colorazione delle linee che le etichette di ramo che semplificano la traccia dei commit appartenenti a ogni ramo. È possibile usare l'elenco dei rami nella parte superiore della tabella per scorrere più facilmente i rami e sapere immediatamente quali rami vengono visualizzati nel grafico.

Confrontare i commit

Per confrontare due commit nel ramo, usare il tasto CTRL per selezionare i due commit da confrontare. Fare quindi clic con il pulsante destro del mouse su uno di essi e selezionare Confronta commit.

Screenshot di come confrontare due commit.

Screenshot dei commit confrontati.

Suggerimento

Analogamente a Dettagli commit, è possibile usare il pulsante Apri in nuova scheda per aprire il confronto in una scheda diversa o ingrandirlo sullo schermo.

Creare un ramo da un commit

In Visual Studio è possibile usare il riquadro Git Graph nella finestra Repository Git per creare rami dai commit precedenti. A tale scopo, fare clic con il pulsante destro del mouse sul commit da cui si vuole creare un nuovo ramo e quindi scegliere Nuovo ramo.

Screenshot del riquadro Git Graph della finestra Repository Git.

Annotazioni

Il comando equivalente per questa azione è git branch <branchname> [<commit-id>].

Confrontare i rami

Il confronto dei rami offre una panoramica delle differenze tra due rami, che possono essere utili prima di creare una richiesta pull, unirsi o persino eliminare un ramo.

Diagramma che illustra come Git confronta i rami.

Per confrontare il ramo attualmente estratto con altri rami usando Visual Studio, è possibile utilizzare lo strumento di selezione dei rami disponibile nella barra di stato e la finestra delle modifiche di Git per scegliere qualsiasi ramo locale o remoto da confrontare. Fare clic con il pulsante destro del mouse sul ramo di destinazione e scegliere Confronta con Current Branch. In alternativa, è possibile usare l'elenco di rami nella finestra Repository Git per accedere allo stesso comando.

Animazione che mostra i punti di ingresso di confronto dei rami.

Selezionando Confronta con Current Branch si apre l'esperienza di confronto dei rami in cui è possibile esplorare l'elenco Modifiche e selezionare il file da confrontare.

Screenshot che mostra come confrontare i rami usando la visualizzazione diff.

Suggerimento

Se si preferisce un diff in linea, è possibile utilizzare l'icona a forma di ingranaggio delle Opzioni di configurazione del diff e passare a una visualizzazione del diff in linea. Screenshot che mostra le opzioni di configurazione Diff disponibili per te.

Eseguire il checkout dei commit

Verificare un commit può essere utile in diversi modi. Ad esempio, consente di tornare a un punto precedente nella cronologia del repository in cui è possibile eseguire o testare il codice. Può anche essere utile se si vuole esaminare il codice da un ramo remoto ,ad esempio il ramo di un collega. In questo modo non è necessario creare un ramo locale se non si prevede di contribuire a tale ramo. In questo caso, è sufficiente controllare il suggerimento del ramo remoto che si vuole esaminare.

Diagramma che illustra il processo di commit dell'estrazione git.

Per estrarre un commit precedente in Visual Studio, aprire la finestra Repository Git , fare clic con il pulsante destro del mouse sul commit a cui si vuole tornare e selezionare Checkout (–detach). Visual Studio mostra una finestra di dialogo di conferma che spiega che effettuando il checkout di un commit, ci si trova in uno stato HEAD scollegato. Ciò significa che il HEAD del tuo repository punterà direttamente a un commit anziché a un ramo.

Animazione che mostra i punti di ingresso del commit di checkout.

Ora che sei in uno stato di head separata, puoi eseguire e testare il tuo codice o persino esplorare ed effettuare il commit delle modifiche. Al termine dell'esplorazione e si vuole tornare al ramo, è possibile scegliere di eliminare le modifiche controllando un ramo esistente o scegliendo di mantenere le modifiche creando prima un nuovo ramo .

Importante

I commit creati in uno stato head scollegato non sono associati ad alcun ramo e possono essere sottoposto a Garbage Collection da Git dopo aver estratto un ramo. Ecco perché, per mantenere le modifiche, è consigliabile creare un nuovo ramo prima di passare a un altro ramo. Ad esempio, i commit C5 e C6 verranno eliminati se si estrae Main senza creare un nuovo ramo. Diagramma che illustra i commit head scollegati in Git.

Per ulteriori informazioni sullo stato di Detached Head, vedere la documentazione di Git.

Controllare il suggerimento di un ramo remoto può essere utile se si vuole esaminare rapidamente una richiesta pull e valutare gli aggiornamenti più recenti. A tale scopo in Visual Studio, assicurarsi prima di tutto di recuperare e ottenere gli aggiornamenti più recenti dal repository remoto. Fare quindi clic con il pulsante destro del mouse sul ramo remoto che si vuole esaminare e selezionare Commit suggerimento di estrazione.

Screenshot che mostra l'opzione Checkout Tip Commit.