3 Deshacer cambios
ImportanteRequisitos previos
Para hacer estos ejercicios es necesario haber hecho antes los ejercicios sobre el historial de cambios, o bien hacer un clon del repositorio remoto https://github.com/asalber/libro-git mediante la siguiente secuencia de comandos:
> git clone https://github.com/asalber/libro-git.git
> cd libro-git
> git reset --hard 48ed8
> git remote remove originEjercicio 3.1
- Eliminar la última línea del fichero
indice.txty guardarlo. - Comprobar el estado del repositorio.
- Deshacer los cambios realizados en el fichero
indice.txtpara volver a la versión anterior del fichero. - Volver a comprobar el estado del repositorio.
TipSolución
> nano indice.txt
# Eliminar la última línea y guardar el fichero.
> git status
> git checkout -- indice.txt
> git status
NotaResolución

Ejercicio 3.2
- Eliminar la última línea del fichero
indice.txty guardarlo. - Añadir los cambios a la zona de intercambio temporal.
- Comprobar de nuevo el estado del repositorio.
- Quitar los cambios de la zona de intercambio temporal, pero mantenerlos en el directorio de trabajo.
- Comprobar de nuevo el estado del repositorio.
- Deshacer los cambios realizados en el fichero
indice.txtpara volver a la versión anterior del fichero. - Volver a comprobar el estado del repositorio.
TipSolución
> nano indice.txt
# Eliminar la última línea y guardar el fichero.
> git add .
> git status
> git reset indice.txt
> git status
> git checkout -- indice.txt
> git status
NotaResolución

Ejercicio 3.3
- Eliminar la última línea del fichero
indice.txty guardarlo. - Eliminar el fichero
capitulos/capitulo3.txt. - Añadir un fichero nuevo
capitulos/capitulo4.txtvacío. - Añadir los cambios a la zona de intercambio temporal.
- Comprobar de nuevo el estado del repositorio.
- Quitar los cambios de la zona de intercambio temporal, pero mantenerlos en el directorio de trabajo.
- Comprobar de nuevo el estado del repositorio.
- Deshacer los cambios realizados para volver a la versión del repositorio.
- Volver a comprobar el estado del repositorio.
TipSolución
> nano indice.txt
# Eliminar la última línea y guardar el fichero.
> rm capitulos/capitulo3.txt
> touch capitulos/capitulo4.txt
> git add .
> git status
> git reset
> git status
> git checkout -- .
> git status
> git clean -f
> git status
NotaResolución

Ejercicio 3.4
- Eliminar la última línea del fichero
indice.txty guardarlo. - Eliminar el fichero
capitulos/capitulo3.txt. - Añadir los cambios a la zona de intercambio temporal y hacer un commit con el mensaje
Borrado accidental. - Comprobar el historial del repositorio.
- Deshacer el último commit pero mantener los cambios anteriores en el directorio de trabajo y la zona de intercambio temporal.
- Comprobar el historial y el estado del repositorio.
- Volver a hacer el commit con el mismo mensaje de antes.
- Deshacer el último commit y los cambios anteriores del directorio de trabajo volviendo a la versión anterior del repositorio.
- Comprobar de nuevo el historial y el estado del repositorio.
TipSolución
> nano indice.txt
# Eliminar la última línea y guardar el fichero.
> rm capitulos/capitulo3.txt
> git commit -a -m "Borrado accidental."
> git status
> git log
> git reset --soft HEAD~1
> git status
> git commit -m "Borrado accidental."
> git status
> git log
> git reset --hard HEAD~1
> git log
> git status
NotaResolución
