¿Cómo cancelar una confirmación de git local?
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?
Solo úsalo git reset
sin la --hard
bandera:
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?
.
Usar --soft
en lugar de --hard
bandera.
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.