¿Cómo cancelar una confirmación de git local?

Resuelto Amal Kumar S asked hace 13 años • 8 respuestas

Mi problema es que cambié un archivo, por ejemplo: README, agregué una nueva línea ' esto para mi línea de prueba ' y guardé el archivo, luego emití los siguientes comandos:

git status

# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   README
#
no changes added to commit (use "git add" and/or "git commit -a")


git add README

git commit -a -m 'To add new line to readme'

No envié el código a GitHub. Ahora quiero cancelar este compromiso.

Para esto utilicé

git reset --hard HEAD~1

Pero perdí la línea recién agregada ' esto para mi línea de prueba ' del archivo README. Esto no debería suceder. Necesito que el contenido esté ahí. ¿Existe alguna forma de conservar el contenido y cancelar mi compromiso local?

Amal Kumar S avatar Jan 31 '11 19:01 Amal Kumar S
Aceptado

Solo úsalo git resetsin la --hardbandera:

git reset HEAD~1

PD: En sistemas basados ​​en Unix puedes usar HEAD^el cual es igual a HEAD~1. En Windows HEAD^no funcionará porque ^indica una continuación de línea. Entonces su símbolo del sistema simplemente le preguntará More?.

Koraktor avatar Jan 31 '2011 12:01 Koraktor

Usar --soften lugar de --hardbandera.

Unix:

git reset --soft HEAD^

Ventanas:

git reset --soft HEAD~

Eliminará la última confirmación local (no enviada), pero mantendrá los cambios que haya realizado.

TpED avatar Aug 10 '2012 08:08 TpED