Empezando

repositorio

Deshacer cambios


Se proporcionan la habilidades necesarias para trabajar con revisiones anteriores de un proyecto. En primer lugar muestra como explorar commits viejos, y se explican los comandos de reset y revert.

git checkout


El comando git checkout cumple tres funciones distintas y es el registro de los commits, la protección de archivos y el cambio hacia ramas existentes en el repositorio.


Uso:

git checkout master

Nos permite regresar a la rama principal o rama master del proyecto.


git checkout <commit> <file>

Podemos ver una versión anterior de un <file> (archivo) que reside en el directorio de trabajo en una copia exacta del proyecto.


git checkout <commit>

Actualiza todos los archivos del directorio de trabajo que coincida con el commit especificado.




git revert


El comando git revert deshace commits, pero en lugar de eliminar el commit del historial del proyecto agrega un nuevo commit con el contenido resultante, de esta forma se mantiene la integridad del historial del revisiones.


repositorio

Uso


git revert <commit>


git reset


Si el git revert se considera una manera segura de deshacer cambios, el comando git reset se considera el método peligroso. Al ocupar git reset no hay forma de recuperar la copia original. Se debe tener cuidado al utilizar este comando, ya que si no se ocupa de manera correcta podría perder su proyecto.


repositorio

Deshacer cambios

Al igual que git checkout, git reset es un comando versátil con muchas configuraciones.


Uso

git reset <file>

Quita el archivo especificado desde el área de trabajo, pero deja el directorio sin algún cambio.


git reset

Reestablece el área de trabajo para que coincida con el commit más reciente.


git reset --hard

Reestablece el área de trabajo para que coincida con el commit más reciente, además de sobreescribir todos los cambios en el directorio de trabajo. Dicho de otro modo: esto borra todos los cambios sin confirmar, por esta razón es importante estar seguro de deshacer los cambios locales.



git reset <commit>


Mueve la cabeza o la punta de la rama actual hacia atrás al <commit> definido en la línea de comando, restableciendo todos los archivos e información que se tenía en ese <commit>. Todos los cambios realizados desde <commit> residirán en el directorio de trabajo, que le permite volver a un <commit> del proyecto.


git reset --hard <commit>

Mueve la cabeza o punta de la rama actual hacia <commit> especificado y restablece tanto el área de trabajo y el directorio de trabajo para que coincida. Esto no sólo borra los cambios no confirmados, sino que confirma después del <commit>.