Deshacer los cambios de un solo archivo en un repo GIT

Published: Sep 15, 2009 by Noe Nieto

El problema

Hice varias modificaciones locales a mi repositorio GIT. Me quiero deshacer de las modificaciones de uno o dos archivos, pero no de todas las demás ¿Qué puedo hacer?

La solución errónea

Yo creía que que se podía hacer con el comando git reset <ruta_al_archivo>. Pero eso no funciona así de fácil. Además, tengo la suficiente pereza requerida como para no leer concienzudamente las páginas del manual.

La solución chafa (Funciona pero uhmm…)

Lo que hacía era hacer un git diff <ruta_al_archivo> y deshacer los cambios a mano mediante el editor.

Si, ya se … eso esta muy chafa.

La solución elegante.

La solución elegante la encontré en el blog de la empresa Norbauer. Básicamente lo que uno tiene que hacer es git checkout <ruta_al_archivo>. Lo que hace este comando es revertir sólo ese archivo a la versión de HEAD.

Ya que git checkout también sirve para cambiar entre ramas de desarrollo (branches), puede que alguna vez exista una rama de desarrollo que tenga el mismo nombre que nuestro archivo; entonces se anteponen dos guiones (o como me gusta decir: menos,menos) al nombre o ruta del archivo: git checkout <ruta_al_archivo>.

Esta solución si me gustó.


Share

Latest Posts

Práctica: Trabajando con Ramas en Git (Parte 2)
Práctica: Trabajando con Ramas en Git (Parte 2)

Simula un entorno de equipo en Git. Aprende a trabajar con múltiples ramas, visualizar el historial con git log --graph y a integrar cambios de diferentes colaboradores.

Práctica: Trabajando con Ramas en Git (Parte 1)
Práctica: Trabajando con Ramas en Git (Parte 1)

Aprende a usar ramas en Git para experimentar sin miedo. Crea, cambia y combina ramas en esta guía para principiantes.

Cómo Usar la Librería Tenacity en Python
Cómo Usar la Librería Tenacity en Python

Una pequeña guía para comenzar a usar la librería Tenacity de Python