Condividi tramite


Eseguire un commit Git in Visual Studio

La parte principale di qualsiasi flusso di lavoro Git è la modifica dei file e il commit delle modifiche in tali file. Anche se questo articolo fa riferimento ai repository GitHub, è possibile lavorare in remoto con il provider Git preferito, ad esempio GitHub o Azure DevOps. In alternativa, è possibile lavorare in locale senza provider.

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

Modificare la fase e apportare un commit

Per preparare le modifiche quando si è pronti, selezionare il 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 + (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".

Finestra di dialogo Commit Git in Visual Studio 2022.

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. Vedere Confrontare i file - visualizzazione diff.

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

Novità nella versione 17.6: è anche possibile fare riferimento a un problema o a una richiesta pull digitando # o selezionando il # pulsante nella parte inferiore destra della casella di testo del messaggio di commit. Per altre informazioni, vedere il post di blog Problemi di riferimento e richieste pull.

Novità nella versione 17.12: quando si rinomina un file, verrà visualizzata una barra di notifica nella parte superiore della finestra Modifiche Git che informa che un file è stato rinominato e richiede di preparare la modifica. Questa notifica viene visualizzata prima della fase o del commit di qualsiasi elemento. È possibile eseguire il commit e il commit della modifica prima di apportare altre modifiche, per assicurarsi che Git rilevi la modifica come ridenominazione, non un'eliminazione e un'aggiunta di un nuovo file.

Ripristinare, reimpostare o modificare un commit

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 (annullare) 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 2022.

Generare messaggi di commit con GitHub Copilot Chat

Con Visual Studio 2022 versione 17.9 e successive e le estensioni Di GitHub Copilot, è possibile usare l'intelligenza artificiale per generare messaggi di commit dettagliati che descrivono le modifiche.

Nota

Per abilitare i messaggi di commit generati dall'intelligenza artificiale, sono necessari GitHub Copilot e GitHub Copilot Chat. Se si usa Visual Studio versione 17.10 o successiva, vedere Ottenere GitHub Copilot per Visual Studio 2022 versione 17.10 o successiva.

Se si usa Visual Studio 17.9 o versioni precedenti, vedere Get GitHub Copilot for Visual Studio 2022 versions 17.8 to 17.9 (Ottenere GitHub Copilot per Visual Studio 2022 versioni da 17.8 a 17.9).

Screenshot che mostra il messaggio di commit generato dall'intelligenza artificiale.

Quando si è pronti per eseguire un commit, usare l'icona della penna sparkly (descrizione comando: Aggiungere un messaggio di commit generato dall'intelligenza artificiale) in basso a destra della casella di modifica del messaggio di commit per richiedere un messaggio di commit generato dall'intelligenza artificiale. Il testo generato dall'intelligenza artificiale viene generato e aggiunto a qualsiasi elemento già presente. Leggerlo attentamente per verificare se è accurato. È possibile accettare l'inserimento o rimuoverlo. Se si accetta l'inserimento, è possibile modificare il testo prima di inviarlo. Quando si è pronti, scegliere il pulsante Commit a fasi o una delle altre opzioni di commit disponibili nell'elenco a discesa sotto la casella di modifica del messaggio di commit.

Nota

Per informazioni su come GitHub Copilot protegge la privacy dei dati, vedere l'Informativa sulla privacy di GitHub Copilot Business.