Annulla le modifiche
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Quando si desidera annullare le modifiche in un repository Git, decidere prima di tutto il tipo di modifiche da annullare. Può, ad esempio, essere necessario:
- Rimuovere le modifiche di cui non è stato eseguito il commit in un file ripristinando la versione dell'ultima versione di cui è stato eseguito il commit. È anche possibile ripristinare un file in qualsiasi versione di cui è stato eseguito il commit.
- Ripristinare uno stato precedente di un ramo reimpostandolo su un commit precedente.
- Annullare le modifiche apportate da un commit condiviso creando un nuovo commit che inverte le modifiche. Poiché questo approccio non riscriverà la cronologia dei commit esistenti, è adatto per ripristinare le modifiche apportate dai commit di cui è stato eseguito il push e che sono in uso da altri utenti.
- Modificare l'ultimo commit per modificarne il contenuto o il messaggio. Per altre informazioni, vedere Come aggiornare l'ultimo commit.
- Risolvere un problema introdotto in un commit precedente creando un nuovo commit che include la correzione. Per altre informazioni, vedere Come creare un commit.
In questo articolo viene spiegato come:
- Rimuovere le modifiche di cui non è stato eseguito il commit in un file
- Ripristinare uno stato precedente di un ramo
- Annullare le modifiche apportate da un commit condiviso
Rimuovere le modifiche di cui non è stato eseguito il commit in un file
Se sono state apportate modifiche a un file ma non è stato eseguito il commit di tali modifiche, è possibile usare Git checkout per eliminare rapidamente le modifiche e ripristinare l'ultima versione di cui è stato eseguito il commit.
Git checkout
può anche ripristinare un file in qualsiasi versione di cui è stato eseguito il commit quando si specifica l'ID commit.
Avviso
Se è possibile riapplicare le modifiche che Git checkout
eliminerebbe, prendere in considerazione l'eliminazione di tali modifiche.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Team Explorer
- Riga di comando Git
Visual Studio 2022 offre un'esperienza di controllo della versione Git usando il menu Git, Le modifiche Git e tramite i menu di scelta rapida in Esplora soluzioni. Visual Studio 2019 versione 16.8 offre anche l'interfaccia utente Git di Team Explorer . Per altre informazioni, vedere la scheda Visual Studio 2019 - Team Explorer .
Visual Studio supporta l'eliminazione delle modifiche di cui non è stato eseguito il commit in un file ripristinando l'ultima versione di cui è stato eseguito il commit.
Nella finestra Modifiche Git identificare il file con le modifiche da rimuovere. Se il file si trova nella sezione Modifiche a fasi, fare clic con il pulsante destro del mouse e scegliere Annulla scena. I file non installati vengono visualizzati nella sezione Modifiche .
Se il file si trova nella sezione Modifiche , fare clic con il pulsante destro del mouse e scegliere Annulla modifiche per annullare tutte le modifiche apportate al file dall'ultimo commit.
Ripristinare uno stato precedente di un ramo
È possibile ripristinare uno stato precedente di un ramo usando la reimpostazione Git per reimpostare il ramo su un commit precedente. Git reset
influisce su tutti i file in tutte le cartelle dei rami.
Git reset
offre alcune opzioni. L'opzione predefinita consiste nel ripristinare il ramo a un commit precedente, ma mantenere tutte le modifiche successive come modifiche di cui non è stato eseguito il commit. Un'altra opzione consiste nel ripristinare un ramo a un commit precedente rimuovendo tutte le modifiche apportate a tutti i file di ramo in quanto tale commit.
Avviso
Non reimpostare un ramo su un commit prima dell'ultimo commit se l'ultimo commit è stato sottoposto a push e condiviso con altri utenti. In questo modo, la cronologia dei rami locali non corrisponde più alla cronologia dei rami remoti. Per i rami condivisi, vedere Annullare le modifiche apportate da un commit condiviso.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Team Explorer
- Riga di comando Git
Nella barra dei menu scegliere Git View Branch History (Visualizza cronologia ramo Git>) per aprire la scheda Cronologia per current branch.
Nella scheda Cronologia per current branch fare clic con il pulsante destro del mouse sul commit che si desidera reimpostare e quindi scegliere Reimposta > elimina modifiche (-hard) per reimpostare il ramo sul commit selezionato ed eliminare tutte le modifiche apportate a tutti i file di ramo dopo il commit. In alternativa, scegliere Ripristina > mantieni modifiche (-misto) per reimpostare il ramo sul commit selezionato e conservare tutte le modifiche successive come modifiche non preparate.
Annullare le modifiche apportate da un commit condiviso
È possibile annullare le modifiche apportate da un commit usando Git per creare un nuovo commit che inverte tali modifiche. Git revert
non elimina il commit originale. Questo approccio è adatto per annullare le modifiche apportate da un commit condiviso perché Git revert
non modifica la cronologia del commit precedente e quindi le cronologie dei rami locali e remote continuano a corrispondere.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Team Explorer
- Riga di comando Git
Nella barra dei menu scegliere Git View Branch History (Visualizza cronologia ramo Git>) per aprire la scheda Cronologia per current branch.
Nella scheda Cronologia per current branch fare clic con il pulsante destro del mouse sul commit che si desidera ripristinare e scegliere Ripristina per creare un nuovo commit che annulla le modifiche apportate dal commit selezionato.