如何更改旧(本地)提交的消息?

ale*_*lex 6 git

我的提交看起来像这样:

alex@alex-M52AD-M12AD-A-F-K31AD:~/node/project$ git log
commit 050e4417634300e724b8e0c29bb8b7a240a9a996
Author: alexcheninfo <alexchen.info@gmail.com>
Date:   Fri Feb 12 12:55:38 2016 +0800

    Rename documents

commit 637bd5ac976118d7e0fb3bf5f2bab950ce0ebb66
Author: alexcheninfo <alexchen.info@gmail.com>
Date:   Fri Feb 12 11:29:01 2016 +0800

    Make sidenav a component
Run Code Online (Sandbox Code Playgroud)

我想更改提交消息Make sidenav a component.我想使用git -ammend但我认为它只能用于更改上次提交的消息?

Bri*_*ell 7

交互式rebase通常是最简单的方法: git rebase -i 637bd5ac^

这将在每行提交后打开您的编辑器,因为在一行中提到了提交.对于每个提交,您可以选择修改方式; 选择(保持原样),编辑,重新编辑(仅编辑提交消息),压缩(将该提交与前一个提交组合成一个提交和一个提交消息)或修复(如壁球但忽略第二个提交消息) ).您还可以在执行此操作时重新排序或删除提交.

对于您的问题,您可能希望为相关提交选择"reword",然后您将有机会编辑该消息.

  • `637bd5ac ^`是你想要编辑的提交的提交ID(实际上,它的前缀,因为通常足够独特),然后是`^`字符来选择父提交.我从你的问题中提取了那个提交ID,所以如果你粘贴在你的存储库的实际输出中,我写的内容应该有效.在变基础时,你需要选择提交到rebase,这将是你要修改的第一个之前的那个; 这就是为什么我添加`^`来选择父提交.然后您将有机会编辑之后的任何提交. (2认同)