如何跳过“git commit --amend”中的提交消息步骤?

时间:2011-03-15 04:04:33

标签: git version-control commit-message

我正在运行一个非常快速的代码编译测试循环,我经常修改我的提交更改。

例如:

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

我修复bug后通常需要相同的提交消息。有没有办法让git跳过我的EDITOR并只使用原始提交消息?

4 个答案:

答案 0 :(得分:80)

您只需添加--no-edit即可使用上一条消息。此选项自2005年以来就存在,但仅在最近才启用--amend选项。

另一种方法是使用修改选项将-C HEAD添加到commit命令。这使您不仅可以使用当前提交的消息,还可以指定您喜欢的任何其他引用,因此值得记住它。

当从历史记录中的各个位置构造提交并使用其中一个提交的消息时,这尤其有用。例如:

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

只使用feature1中的2次提交,并使用上次提交到feature1的提交消息 - 如果这是一个很好的描述。

答案 1 :(得分:7)

您也可以使用

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

允许您使用以前的提交消息。这也可以是脚本或git别名的一部分。

答案 2 :(得分:5)

git commit --amend --reuse-message HEAD 

将重用上一次提交的消息

答案 3 :(得分:3)

从git 1.7.9版本开始,您还可以使用git commit --amend --no-edit