How to skip the commit message step in “git commit --amend”? [duplicate]

半腔热情 提交于 2019-11-27 10:24:46

问题


This question already has an answer here:

  • How to amend a commit without changing commit message (reusing the previous one)? 5 answers

I'm running a very rapid code-compile-test loop where I am amending changes to my commits far more often than not.

For example:

# Make some changes
$ git commit -m "Added feature X"
# Compile, test
# Fix bugs
$ git commit -a --amend

I usually want the same commit message after I fix my bugs. Is there a way to make git skip firing up my EDITOR and just use the original commit message?


回答1:


You can just add --no-edit to use the last message. This option existed since 2005 but only recently has been enabled for the --amend option.

The other way is to add -C HEAD to the commit command with amend option. This allows you to not just use the current commit's message but you can specify any other reference you like, so it's worth remembering it.

This is particularly useful when constructing a commit from various places in history and using one of those commit's messages. For example:

git checkout feature1^^ -- database/table1.sql
git checkout feature1^^^^ -- logger.py
git add -A && git commit -C feature1

which would just use 2 commits from a feature1 and use the commit message from the last commit to feature1 - if that was a good description.




回答2:


You can also use

--reuse-message=<commit>
Take an existing commit object, and reuse the log message and the authorship 
information (including the timestamp) when creating the commit.

Which allow you to use previous commit messages. This can also be part of a script or git alias.




回答3:


git commit --amend --reuse-message HEAD 

will reuse message from last commit




回答4:


Since git 1.7.9 version you can also use git commit --amend --no-edit



来源:https://stackoverflow.com/questions/5307417/how-to-skip-the-commit-message-step-in-git-commit-amend

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!