¿Hay alguna manera de enmendar un commit sin que aparezca vi
(o tu $EDITOR
) con la opción de modificar tu mensaje de commit, pero simplemente reutilizando el mensaje anterior?
¿Hay alguna manera de enmendar un commit sin que aparezca vi
(o tu $EDITOR
) con la opción de modificar tu mensaje de commit, pero simplemente reutilizando el mensaje anterior?
Respuestas:
Desde la versión git 1.7.9 también puede usar git commit --amend --no-edit
para obtener su resultado.
Tenga en cuenta que esto no incluirá metadatos de la otra confirmación, como la marca de tiempo que puede o no ser importante para usted.
git commit -C HEAD --amend
Hará lo que quieras. La -C
opción toma los metadatos de otra confirmación.
git config --global alias.amend 'commit --amend -C HEAD'
. Luego puede usarlo git amend
como atajo.
--amend
, incluso sin ninguna otra opción, conserva la fecha del autor (pero cambia la fecha de confirmación). Como tal, he eliminado mi antiguo comentario.
—amend
. Puede crear una nueva confirmación pero usar el mismo mensaje que la confirmación anterior. Puede que no suene útil, pero mi mensaje de confirmación de forma predeterminada cuando solo estoy guardando mi trabajo sin tener que pensar en un buen mensaje de confirmación, sigo reutilizando el mensaje—message=“Work in progress (untested)”
Otra posibilidad (tonta) es git commit --amend <<< :wq
si tienes vi (m) como $EDITOR
.
... <<< ZZ
podría ser aún menos escribiendo;)
... <<< :x
:)
Usar la respuesta aceptada para crear un alias
oops = "!f(){ \
git add -A; \
if [ \"$1\" == '' ]; then \
git commit --amend --no-edit; \
else \
git commit --amend \"$@\"; \
fi;\
}; f"
entonces puedes hacer
git oops
y agregará todo y enmendará usando el mismo mensaje
o
git oops -m "new message"
para modificar la sustitución del mensaje