Is there a way to amend a commit without vi
(or your $EDITOR
) popping up with the option to modify your commit message, but simply reusing the previous message?
Since git 1.7.9 version you can also use git commit --amend --no-edit
to get your result.
Note that this will not include metadata from the other commit such as the timestamp which may or may not be important to you.
git commit -C HEAD --amend
will do what you want. The -C option takes the metadata from another commit.
Another (silly) possibility is to git commit --amend <<< :wq
if you've got vi(m) as $EDITOR
.
To extend on the accepted answer, you can also do:
git commit --amend --no-edit -a
to add the currently changed files.
Using the accepted answer to create an alias
oops = "!f(){ \
git add -A; \
if [ \"$1\" == '' ]; then \
git commit --amend --no-edit; \
else \
git commit --amend \"$@\"; \
fi;\
}; f"
then you can do
git oops
and it will add everything, and amend using the same message
or
git oops -m "new message"
to amend replacing the message
来源:https://stackoverflow.com/questions/10237071/how-to-amend-a-commit-without-changing-commit-message-reusing-the-previous-one