Respuestas:
Tienes dos opciones:
Proporcione un mensaje de confirmación vacío. Si se trata de una nueva confirmación y aún no ha guardado el mensaje, simplemente puede usar :q!(salir sin guardar). Si ya ha guardado (o está modificando una confirmación anterior), simplemente elimine todo el mensaje de registro y vuelva a guardar. Esto se puede hacer con ggdG+ :wqen Vim.
Haga que el editor salga con un código de salida distinto de cero. En Vim, puede usar :cq(salir con un código de error).
Vale la pena señalar que siempre puede restablecer su copia de trabajo al estado en que estaba antes de la confirmación git reset HEAD^.
git reset HEAD^pide más, su shell puede interpretar ^ como continuación de línea. Intente git reset "HEAD^", git reset HEAD^^o en su git reset HEAD~1lugar, según esta respuesta: stackoverflow.com/questions/14203952/git-reset-asks-more
:q!no funciona cuando se modifica una confirmación. No actualiza el mensaje de confirmación, pero ejecuta la enmienda :-(:cq aborta completamente la enmienda.Para resumir:
git commit), deje de usar :q!.git commit --amend), elimine el mensaje de confirmación (solo las primeras filas que no comienzan con un #), por ejemplo, manteniendo presionado vy usando las teclas de flecha para seleccionarlo y luego presionando Eliminar. ¡Salga con :wqpara aplicar los cambios ! Si usa :q!los cambios, se perderán y se usará el mensaje de confirmación anterior.Cuando se utiliza VIM, está bien dejarlo en ambos casos :cq: VIM se cerrará con un código de error y se anulará la confirmación.
:q!para salir de vim.