Mi problema es que he cambiado 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 commit.
Para esto usé
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 el contenido para estar allí. ¿Hay alguna manera de retener el contenido y cancelar mi confirmación local?
git-commitpuede abortar si deja el mensaje en blanco, por lo que si realmente no ha terminado la confirmación, podría ser útil.

git revert, lo que crea una nueva confirmación con la diferencia inversa de la confirmación revertida. El reinicio simplemente apunta su rama actual a una confirmación diferente, en este caso, la anterior a la confirmación que desea "olvidar".