Git Revert vs Git Reset: annullare e modificare le modifiche nella cronologia di Git

Git Revert e Git Reset sono due comandi importanti in Git per annullare e regolare le modifiche nella commit cronologia di un repository. Ecco una guida su come utilizzare Git Revert e Git Reset:

 

Git Revert

  • Git Revert consente di creare un nuovo commit per annullare( revert) le modifiche salvate in precedenza.

  • Per revert a commit, utilizzare il seguente comando:

    git revert <commit_id>
    

    Sostituisci <commit_id> con l'ID dell'elemento che commit desideri ripristinare. Verrà creato un nuovo commit, annullando le modifiche nel file commit.

  • Revert non altera la commit cronologia ma ne crea una nuova commit per annullare le modifiche.

 

Git Reset

  • Git Reset consente di tornare a uno stato precedente spostando il HEAD ramo corrente e in un commit specifico.

  • Git Reset ha tre diverse modalità: --soft, --mixed(default), and --hard.

  • Al reset e HEAD ramo corrente a a commit, usa il seguente comando:

    git reset --mode <commit_id>
    

    Sostituisci <commit_id> con l'ID di cui commit desideri eseguire il ripristino.

  • Git Reset modalità:

    • -soft: Sposta il HEAD ramo corrente e quello specificato commit, mantenendo le modifiche del ramo precedente commit nell'area di staging. Usa il comando git reset --soft <commit_id>.
    • --mixed: Questa è la modalità di default. Sposta il HEAD ramo corrente e nel commit specificato e rimuove le modifiche del ramo precedente commit dall'area di staging. Usa il comando git reset --mixed <commit_id>.
    • --hard: Sposta il HEAD ramo e corrente nel ramo specificato commit e scarta tutte le modifiche del precedente commit. Prestare attenzione quando lo si utilizza, poiché eventuali modifiche non salvate andranno perse. Usa il comando git reset --hard <commit_id>.
    <commit_id>.
  • Git Reset altera la commit cronologia e può causare la perdita di dati, quindi usalo con cautela.

 

Git Revert e Git Reset sono potenti strumenti per annullare e regolare la cronologia dei commit in Git. Usali con attenzione per garantire la stabilità del progetto ed evitare la perdita di dati.