Deshacer todos los cambios de Git en local ejecutando 1 línea de comando
deshacer cambios de git

Deshacer todos los cambios de Git en local ejecutando 1 línea de comando

En ocasiones estamos probando cosas y nos gustaría poder deshacer esos cambios de Git en local rápidamente. Esto es posible con un par de comandos que podemos enlazar y hacerlo todo en una línea.

Los miembros de "Los androides Premium" escuchan contenido adicional en audio sobre este artículo... ¡y otros más de 100!

Suena muy bien

Hay que suscribirse para disfrutar de todo el contenido premium desde la web y la app, así como participar en las actividades premium: videoconferencias y canales premium en Discord.

Es particularmente util si estamos revisando Pull Requests de compañeros y queremos hacer algún cambio para probar lo que sea.

Para deshacer los cambios en local de la rama actual, podemos usar este comando:

git reset HEAD --hard

Y para eliminar los nuevos ficheros (f) y directorios (d) creados:

git clean -fd

Pero… ¿no me habías dicho que se podía hacer todo de una? Aquí veo 2 líneas de comandos…

Efectivamente.

Para ejecutar varios comandos en una misma línea podemos usar lo siguiente.

Vamos a poner un ejemplo en el que tenemos 2 comandos: cmd1 y cm2.

cmd1; cmd2Ejecuta el 2º comando siempre
cmd1 && cmd2Ejecuta el 2º comando si el primero tuvo éxito
cmd1 || cmd2Ejecuta el 2º comando si el primero fue fallido

Por lo que podemos ejecutar esto:

git reset HEAD --hard && git clean -fd

Y ya lo tenemos. Con esta línea de arriba, nos libraremos de todos los cambios de una tacada.

Si quieres ir un poco más allá, podrías incluso crearte un alias en Git.

Por ejemplo algo así:

[alias]
  res = "!git reset HEAD --hard && git clean -fd"

Entonces, con teclear git res por terminal, ya te desharía los cambios en local. 💯

Publicado: 2022-11-28 Actualizado: 2023-09-14