有时我会进入故障排除模式并提交/推送一些小但单独的提交,并发表评论,例如“在部署到Heroku期间排除< something>”。我想为每个提交使用相同的注释,而不必重新键入它。这可能吗?
答案 0 :(得分:18)
从git-commit(1)命令文档中
-C <commit>
--reuse-message=<commit>
Take an existing commit object, and reuse the log message and the authorship
information (including the timestamp) when creating the commit.
-c <commit>
--reedit-message=<commit>
Like -C, but with -c the editor is invoked, so that the user can further edit
the commit message.
然后可以使用,
git commit --reuse-message=HEAD
<强>更新强>
您可能还需要使用--reset-author
选项
--reset-author
When used with -C/-c/--amend options, declare that the authorship of the
resulting commit now belongs of the committer. This also renews the author
timestamp.
答案 1 :(得分:8)
起初,我回答说:
我猜
git commit --reuse-message=HEAD
做到了
然后我认为这不是你想要的并删除它。然后生活赶上了AFK几个小时。无论如何,尽管已经接受了答案,我建议:
$ git config alias.troubleshoot '!troubleshoot() { git add -u && git commit -m "Troubleshooting the $1 during deployment to Heroku."; }; troubleshoot'
您可以通过以下方式使用它:
git troubleshoot foo
将在部署到Heroku期间对“ foo 进行故障排除”提交更改(以及最终的新文件)。作为提交消息。
答案 2 :(得分:1)
我不确定如何使用您输入的最后一个git注释来获取某些git提交,但可以设置默认提交消息。只要在完成使用该消息所需的所有提交后,您就可以取消设置默认提交消息。
以下是设置默认提交消息的方法。首先,在文件中输入所需的提交消息,然后将其称为~/LastCommitMessage.txt
。然后,将其指定为默认(全局)提交消息,如下所示:
$ git config --global commit.template ~/LastCommitMessage.txt
您可以通过不使用--global并使用其他内容来缩小范围。
您可以通过打开主目录中的.gitconfig
文件轻松访问所有git设置。完成所有提交后,打开该文件并删除上面的设置以取消设置。
答案 3 :(得分:1)
.git / COMMIT_EDITMSG包含最后一次提交消息。 https://git-scm.com/docs/git-commit#_files
git commit --file .git/COMMIT_EDITMSG
将使用该文件作为提交消息。