El único problema que tuve con esta respuesta es que dejó copias para el archivo 2 en el disco.
user52472
9
En mi caso, moví una carpeta completa, luego me di cuenta de que no debería haberlo hecho.
Realmente me gustó la respuesta de @Dave Konopka, pero no tuve mucho éxito con ese enfoque (¿tal vez mi versión de GIT (1.8.4)? Mis archivos aún se mostraban como eliminados. Tenía otros cambios en la pila que no quería) perder (desafortunadamente)
Depende de lo que quieras lograr. Si desea que aparezca como si el archivo nunca se hubiera movido, puede restablecerlo (o cambiarlo) antes de moverlo. Si no le importa la historia, simplemente muévala hacia atrás.
El primero funciona bien siempre y cuando no haya presionado su compromiso, o alguien no se haya retirado de usted.
CanSpice
7
Si accidentalmente renombró una gran cantidad de archivos y desea volver a donde comenzó, elimine todos los archivos renombrados que aparecen como addsbajo una git statusllamada.
Una vez que elimine todos los archivos modificados, puede ejecutarlos git checkout -- *para recuperar localmente los nombres de los archivos originales.
git reset HEAD file2
git checkout -- file1
rm file2
El primer comando desentierra el archivo2 pero deja una copia del mismo. El segundo comando restaura el archivo original y el tercero elimina el nuevo archivo.
El truco que utilicé fue hacer un alijo git para deshacer todos mis cambios (que incluye la restauración de los archivos mv'd) y luego eliminar el alijo con git stash drop.
git mv file2 file1
Respuestas:
Respuesta no descarada:
Consulte la documentación de git mv
fuente
git checkout .
no funciona, incluso con la-f
opción?git checkout -- .
.fatal: source directory is empty,
sologit reset --hard
funcionó.Si no ha realizado otros cambios (que desea mantener) desde la última confirmación, puede hacer
fuente
git reset --hard
. Simplemente moverlo hacia atrás me parece una opción más segura.hizo el truco para mí
fuente
En mi caso, moví una carpeta completa, luego me di cuenta de que no debería haberlo hecho.
Realmente me gustó la respuesta de @Dave Konopka, pero no tuve mucho éxito con ese enfoque (¿tal vez mi versión de GIT (1.8.4)? Mis archivos aún se mostraban como eliminados. Tenía otros cambios en la pila que no quería) perder (desafortunadamente)
Tuve éxito haciendo esto:
fuente
Depende de lo que quieras lograr. Si desea que aparezca como si el archivo nunca se hubiera movido, puede restablecerlo (o cambiarlo) antes de moverlo. Si no le importa la historia, simplemente muévala hacia atrás.
fuente
Si accidentalmente renombró una gran cantidad de archivos y desea volver a donde comenzó, elimine todos los archivos renombrados que aparecen como
adds
bajo unagit status
llamada.Una vez que elimine todos los archivos modificados, puede ejecutarlos
git checkout -- *
para recuperar localmente los nombres de los archivos originales.fuente
El primer comando desentierra el archivo2 pero deja una copia del mismo. El segundo comando restaura el archivo original y el tercero elimina el nuevo archivo.
fuente
El truco que utilicé fue hacer un alijo git para deshacer todos mis cambios (que incluye la restauración de los archivos mv'd) y luego eliminar el alijo con git stash drop.
fuente
Menos aterrador es ir al nivel superior del repositorio y hacer:
git reset
git checkout.
fuente