如何修改提交而不更改提交消息(重用前一个)?

时间:2012-04-19 21:28:45

标签: git commit git-commit amend

有没有办法在没有vi(或你的$EDITOR)的情况下修改提交修改提交消息的选项,但只是重用上一条消息?

6 个答案:

答案 0 :(得分:804)

自git 1.7.9版本起,您还可以使用git commit --amend --no-edit来获取结果。

请注意,这不会包含来自其他提交的元数据,例如时间戳可能对您不重要,也可能不重要。

答案 1 :(得分:102)

git commit -C HEAD --amend会做你想要的。 -C选项从另一个提交中获取元数据。

答案 2 :(得分:49)

如果您将vi(m)设为git commit --amend <<< :wq,则另一种(愚蠢)可能性为$EDITOR

答案 3 :(得分:3)

要扩展已接受的答案,您还可以执行以下操作:

git commit --amend --no-edit -a

添加当前更改的文件。

答案 4 :(得分:0)

使用接受的答案来创建别名

 oops = "!f(){ \
    git add -A; \
    if [ \"$1\" == '' ]; then \
        git commit --amend --no-edit; \
    else \
        git commit --amend \"$@\"; \
    fi;\
}; f"

那么您就可以

git oops

它将添加所有内容,并使用相同的消息进行修改

git oops -m "new message"

修改替换消息

答案 5 :(得分:0)

为了更加清楚,您需要使用git add进行更改,然后修改最后一次提交:

git add /path/to/modified/files
git commit --amend --no-edit

当您忘记上一次提交中的某些更改,或者想要通过重用上一次提交而添加更多更改而又不创建新的提交时,此功能特别有用