有没有一种方法可以修改一个提交,而不弹出vi(或你的$EDITOR)选项来修改你的提交消息,而是简单地重用之前的消息?


当前回答

从Git 1.7.9开始,你还可以使用Git commit - modify -no-edit来获得结果。

注意,这将不包括来自其他提交的元数据,如时间戳或标记,这些对您来说可能重要,也可能不重要。

其他回答

要扩展已接受的答案,你还可以这样做:

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

添加当前更改的文件。

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

傻瓜的完整教程

一旦你完成了对代码的修改。

1.-查看终端git状态的变化;

2.-使用git add保存您的更改。或者git add /your。File /一个文件一个文件地执行,使用前面的命令将帮助您完成最后一个选项;

3.-一旦你的变化已经上演,你现在可以使用git提交-修改-不编辑。这将在不编辑消息的情况下将最近的更改添加到上次提交中。

4.-最后,如果你没有推送你之前提交的文件,那就做一个git push或者git push origin/yourBranch。 如果你已经提交了最后一次提交,请使用git push -f或git push -f origin/yourBranch。

另一种(愚蠢的)可能性是git commit——modify <<<:wq如果你用vi(m)作为$EDITOR。

为了增加一些清晰度,你需要使用git add进行阶段性更改,然后修改最后的commit:

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

如果您忘记在上次提交中添加一些更改,或者当您想通过重用上次提交添加更多更改而不创建新提交时,这特别有用。