Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
La finestra Repository Git contiene un pannello sinistro. Ciò che si seleziona qui determina il contenuto sul lato destro.
In Visual Studio il riquadro sinistro include Branches/Tags e Pull Requests.
La finestra Repository Git contiene tre sezioni principali, come numerato nello screenshot precedente:
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.
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.
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 .
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. È 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.
Con rami/tag selezionati, vengono visualizzate le sezioni Graph e Commit sul lato destro.
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.
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 .
Visualizza i commit in dettaglio
I tasti di scelta rapida alt+su o alt+freccia giù consentono di spostarsi tra le sezioni nel pannello sinistro.
È 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.
Richieste di pull
Se stai esaminando rami e commit, passa a Pull Requests nel pannello sinistro.
La sezione Richieste pull mostra un elenco di richieste pull attive.
Sfogliare e aprire pull request
Selezionare una pull request per aprire una vista di revisione incorporata senza fare il checkout del branch. Trovare le richieste pull dalla finestra Git Repository (View>Git Repository), Git Changes, o Git>GitHub (o Azure DevOps) >View Pull Requests.
- Descrizione della richiesta pull, file modificati, commit, elementi correlati e revisori in un'unica visualizzazione.
- Passa da una pull request attiva all'altra senza interferire con il branch di lavoro.
- Visualizza i dettagli e le modifiche dei singoli commit nella pull request.
Commento e discussione
Lasciare il feedback direttamente nella visualizzazione diff e continuare la conversazione senza passare a un browser.
- Aggiungere commenti inline su righe specifiche, rispondere ai commenti e risolvere i thread.
- Visualizzare gli indicatori di commento per ogni file nell'elenco Modifiche .
- Eseguire il rendering di immagini inline e testo formattato nei commenti, in modo analogo all'esperienza Web.
Approvare, completare e unire
Quando siete pronti, approvate e completate la pull request in Visual Studio. Le azioni di votazione e completamento sono disponibili in più viste, così puoi approvare mentre rivedi le modifiche.
- Approva la pull request. Altre opzioni di voto sono disponibili nell'elenco a discesa per Azure DevOps.
- Visualizzare i controlli di stato, i conflitti di merge e le approvazioni necessarie nella scheda Panoramica.
- Completare o eseguire il merge della pull request, con opzioni per convertirla in bozza e abbandonarla o chiuderla.
È possibile gestire questa esperienza in>Strumenti Opzioni>funzionalità di anteprima:
- Commenti sulle Pull Request
- Visualizzare le richieste pull per un repository Git
Per i flussi di lavoro dettagliati per commentare le richieste pull nei file e nelle visualizzazioni diff, vedere Creare una richiesta pull in Visual Studio.
Visualizzazione cronologia multi-ramo
Novità con la versione 17.7: quando si apre la finestra Repository Git, si inizia nella visualizzazione a ramo singolo. È quindi possibile selezionare qualsiasi branch per aggiungere sia il branch che i relativi commit a una vista cronologica multi-branch, che aggiunge segnali visivi rendendo più efficiente l'interazione con più branch.
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.
Nella sezione Rami/Tag passare il puntatore del mouse su un ramo per visualizzare il pulsante Toggle Branch in History (l'icona è simile a un occhio). Utilizzando il pulsante al passaggio del mouse, è possibile selezionare i rami da mostrare nella visione cronologia dei commit.
È possibile usare i pulsanti della barra degli strumenti nella parte superiore della visualizzazione della cronologia dei commit per personalizzare la visualizzazione e filtrare le branche.
Mostra solo primo genitore: Limita la cronologia per visualizzare solo la cronologia del commit su una singola riga, anziché mostrare i rami laterali con la propria sequenza di commit.
Mostra rami locali: attiva o disattiva se visualizzare o meno le etichette per il ramo locale nella visualizzazione cronologia.
Mostra rami remoti: attiva/disattiva se visualizzare o meno le etichette per i rami remoti che contribuiscono alla cronologia di commit che stai visualizzando.
Mostra tag: attiva/disattiva se visualizzare o meno le etichette per i tag.
Mostra rami locali, Mostra rami remoti e Mostra tag tutti fanno riferimento agli indicatori di etichetta sui commit visualizzati sul lato sinistro nella visualizzazione cronologia.
Novità con la versione 17.14: per concentrarsi sui commit non sincronizzati, è possibile usare il pulsante della barra degli strumenti Mostra solo in uscita/in ingresso per modificare la visualizzazione cronologia in modo da visualizzare solo i commit in uscita (non ancora inseriti dal ramo corrente) e i commit in ingresso (nuovo sul remoto).
È anche possibile selezionare Mostra solo in uscita/in ingresso nel menu di scelta rapida facendo clic con il pulsante destro del mouse in un punto qualsiasi della visualizzazione cronologia.
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.
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.
Rivedi il contenuto del commit con un riepilogo delle modifiche
In Git>View Branch History aprire qualsiasi commit e selezionare Apri riepilogo modifiche. Visual Studio mostra le righe modificate da più file in una visualizzazione unificata, utile per un passaggio rapido prima della revisione più approfondita dei file per file.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Visualizzare la cronologia delle modifiche line-by-line con Git Blame
Git Blame mostra chi ha modificato ogni riga di codice in un file, insieme a quando e perché è stata apportata la modifica. Questa funzionalità è utile quando è necessario comprendere la cronologia e il contesto dietro modifiche di codice specifiche, tenere traccia dell'origine di un bug o identificare l'autore di una particolare implementazione.
Accedere alle annotazioni di Git Blame
È possibile visualizzare le annotazioni Git Blame direttamente dall'editor di codice o da Esplora soluzioni.
Dall'editor di codice:
- Aprire un file nell'editor.
- Fare clic con il pulsante destro del mouse in un punto qualsiasi dell'editor di codice.
- Selezionare Git>Blame (Annotate).
From Esplora soluzioni:
- Fare clic con il pulsante destro del mouse su un file in Esplora soluzioni.
- Selezionare Git>Blame (Annotate).
Le annotazioni della colpa vengono visualizzate nel margine sinistro dell'editor, con il nome dell'autore, la data di commit e il collegamento di commit. Il file si apre nell'editor con le annotazioni Blame visibili.
Esplora i dettagli del commit dalle annotazioni Blame
Quando le annotazioni Di colpa sono visibili nell'editor, è possibile interagire con esse per ottenere altre informazioni:
- Fare clic sul commit per Visualizzare i dettagli: è possibile visualizzare il commit completo, in cui è possibile visualizzare tutti i file modificati in tale commit e accedere ad altre opzioni, ad esempio confrontando la versione corrente con la versione precedente.
Suggerimento
Git Blame è più utile per comprendere il comportamento imprevisto o tenere traccia del motivo per cui è stata apportata una particolare modifica.
Quando Git Blame non è disponibile
Git Blame è disponibile solo per i file rilevati di cui è stato eseguito il commit nel repository Git. Se l'opzione Git>Blame non viene visualizzata, controllare la tabella seguente per individuare le cause e le soluzioni comuni.
| Scenario | Solution |
|---|---|
| Il file non viene rilevato | Controllare la finestra Modifiche Git . Se il file compare in File non tracciati, prima esegui lo staging e il commit del file. |
| Il file è in .gitignore | Rimuovere il file da .gitignore, aggiungerlo al repository ed eseguirne il commit. |
| File binario | Blame funziona solo con file di testo quali il codice sorgente (.cs, .js, .py), i file di configurazione (.json, .xml) e la documentazione (.md, .txt). Per i file binari (.dll, .exe, immagini), usa invece Git>View History. |
| Nessuna cronologia di commit | Eseguire almeno un commit che includa il file. |
| Stato HEAD scollegato | Controllare la barra di stato. Se è in stato detached, eseguire il checkout di un branch dalla finestra Git Repository. Vedi Commit checkout. |
| File molto grande | Per motivi di prestazioni, Blame può essere disabilitato per file estremamente grandi. Usa Git>Visualizza cronologia invece. |
Alternativa per tutti gli scenari: Fare clic con il pulsante destro del mouse sul file e selezionare Git>Visualizza cronologia per vedere tutti i commit che hanno modificato il file.