Git Revert vs Git Reset: Deshacer y ajustar cambios en el historial de Git

Git Revert y Git Reset son dos comandos importantes en Git para deshacer y ajustar cambios en el commit historial de un repositorio. Aquí hay una guía sobre cómo usar Git Revert y Git Reset:

 

Git Revert

  • Git Revert le permite crear una nueva confirmación para deshacer( revert) cambios previamente confirmados.

  • Para revert un commit, use el siguiente comando:

    git revert <commit_id>
    

    Reemplace <commit_id> con la ID de la que commit desea revertir. commit Se creará una nueva, deshaciendo los cambios en la seleccionada commit.

  • Revert no altera el commit historial pero crea uno nuevo commit para revertir los cambios.

 

Git Reset

  • Git Reset le permite volver a un estado anterior moviendo la HEAD rama actual a una confirmación específica.

  • Git Reset tiene tres modos diferentes: --soft, --mixed(default), and --hard.

  • Para reset la HEAD rama actual a a commit, use el siguiente comando:

    git reset --mode <commit_id>
    

    Reemplace <commit_id> con la ID de la que commit desea restablecer.

  • Git Reset modos:

    • -soft: Mueve la HEAD rama actual a la especificada commit, manteniendo los cambios de la anterior commit en el área de preparación. Usa el comando git reset --soft <commit_id>.
    • --mixed: Este es el modo por defecto. Mueve la HEAD rama actual a la confirmación especificada y elimina los cambios de la anterior commit del área de ensayo. Usa el comando git reset --mixed <commit_id>.
    • --hard: Mueve la HEAD rama actual a la especificada commit y descarta todos los cambios de la anterior commit. Tenga cuidado al usarlo, ya que se perderán los cambios no confirmados. Usa el comando git reset --hard <commit_id>.
    <commit_id>.
  • Git Reset altera el commit historial y puede provocar la pérdida de datos, así que utilícelo con precaución.

 

Git Revert y Git Reset son herramientas poderosas para deshacer y ajustar el historial de confirmaciones en Git. Úselos con cuidado para garantizar la estabilidad del proyecto y evitar la pérdida de datos.