Czy istnieje sposób na zmianę zatwierdzenia bez wyskakiwania vi
(lub twojego $EDITOR
) z opcją modyfikacji wiadomości zatwierdzenia, ale po prostu ponownego użycia poprzedniej wiadomości?
Czy istnieje sposób na zmianę zatwierdzenia bez wyskakiwania vi
(lub twojego $EDITOR
) z opcją modyfikacji wiadomości zatwierdzenia, ale po prostu ponownego użycia poprzedniej wiadomości?
Odpowiedzi:
Od wersji git 1.7.9 możesz także używać git commit --amend --no-edit
aby uzyskać swój wynik.
Zauważ, że nie będzie to obejmować metadanych z drugiego zatwierdzenia, takich jak znacznik czasu, który może, ale nie musi być dla ciebie ważny.
git commit -C HEAD --amend
zrobi co chcesz. -C
Opcja pobiera metadane z innego popełnić.
git config --global alias.amend 'commit --amend -C HEAD'
. Następnie możesz użyć go git amend
jako skrótu.
--amend
, nawet bez żadnej innej opcji, zachowuje datę autora (ale zmienia datę zatwierdzenia). W związku z tym usunąłem mój stary komentarz.
—amend
. Możesz utworzyć nowe zatwierdzenie, ale użyć tej samej wiadomości co poprzednie zatwierdzenie. Może to nie wydawać się przydatne, ale domyślnie komunikat zatwierdzenia, gdy —message=“Work in progress (untested)”
Inną (głupią) możliwością jest git commit --amend <<< :wq
posiadanie vi (m) as $EDITOR
.
... <<< ZZ
może jeszcze mniej pisać;)
... <<< :x
:)
Użycie zaakceptowanej odpowiedzi do utworzenia aliasu
oops = "!f(){ \
git add -A; \
if [ \"$1\" == '' ]; then \
git commit --amend --no-edit; \
else \
git commit --amend \"$@\"; \
fi;\
}; f"
to możesz zrobić
git oops
i doda wszystko i poprawi za pomocą tego samego komunikatu
lub
git oops -m "new message"
zmienić, zastępując wiadomość