miércoles, 12 de julio de 2023

Git reset

El comando git reset se utiliza en Git para deshacer cambios en el historial de confirmaciones (commits) y mover las referencias de la rama a una confirmación anterior. Sirve para deshacer cambios locales o deshacer confirmaciones y modificar la estructura del historial del repositorio.

Sacando archivos de área de preparación y pasarlos al área de trabajo

El comando en Git para sacar archivos del área de preparación (staging area) y volverlos al área de trabajo también es git reset. Puedes usar el siguiente comando:

git reset HEAD <nombre-archivo>

Reemplaza <nombre-archivo> con el nombre del archivo que deseas sacar del área de preparación. Si deseas sacar varios archivos, puedes especificar sus nombres separados por espacios.

Si deseas sacar todos los archivos del área de preparación, puedes usar el siguiente comando:

git reset HEAD .

El punto (.) representa el directorio actual y se refiere a todos los archivos en el área de preparación.

Al usar git reset, los archivos volverán al estado en el que se encuentran en la última confirmación (commit) realizada. Los cambios en los archivos se conservarán, pero no se incluirán en el próximo commit hasta que los agregues nuevamente al área de preparación con el comando git add.

Deshaciendo confirmaciones.

El uso básico del comando git reset para deshacer confirmaciones es el siguiente:

git reset <commit>

Esto deshace los commits posteriores al commit especificado y mueve la referencia de la rama actual a ese commit, descartando los cambios realizados en los commits posteriores. Los cambios deshechos se devuelven al área de preparación (staging area) para que puedas revisarlos y realizar nuevos commits si lo deseas.

Algunas opciones comunes utilizadas con git reset son:

--soft: Deshace los commits y los cambios se mantienen en el área de preparación. Los archivos modificados no se deshacen y puedes volver a confirmarlos fácilmente.
--mixed (por defecto): Deshace los commits y los cambios se eliminan del área de preparación. Los archivos modificados se conservan en el directorio de trabajo, pero no están preparados para un nuevo commit.
--hard: Deshace los commits y descarta todos los cambios. Los archivos modificados se eliminan y se restaura el estado del repositorio al commit especificado.

Por ejemplo, para deshacer los últimos dos commits y descartar los cambios realizados en ellos, puedes usar el siguiente comando:

git reset HEAD~2

Esto mueve la referencia de la rama actual dos commits atrás y descarta los cambios realizados en los últimos dos commits.

Ten en cuenta que git reset es una operación poderosa que afecta el historial del repositorio. Si los commits que deseas deshacer ya han sido compartidos con otros colaboradores o se han enviado a un repositorio remoto, ten en cuenta que estos cambios se reflejarán en el historial de confirmaciones compartido. Por lo tanto, se recomienda tener cuidado al utilizar este comando y considerar las implicaciones antes de realizar cambios en el historial del repositorio.

No hay comentarios.:

Publicar un comentario