3

我想重新格式化几个提交(30 个左右)的提交消息。我忽略了在许多提交中的“短”消息之后添加换行符,这导致了这个问题中描述的问题:How to output git log only with the first line? ,所以我想用这个换行符重写提交消息。

我运行了命令git rebase -i -p <commit-id of last good commit>,如此答案中所述:如何在 Git 中编辑不正确的提交消息?,然后在打开的编辑器窗口中,我将要编辑其消息的提交替换为pickreword

这导致 git 每次提交一次打开一个文本编辑器。我猜它是这样设计的,因为 git 需要在每次更改后进行 rebase。

但是,在这种情况下,我只更改提交消息,而不更改任何文件。是否可以通过一次打开所有文本编辑器窗口来加快速度?

例如,如果这些窗口可以在一个文本编辑器进程的多个缓冲区中打开(大多数文本编辑器都支持这一点),那么我可以使用多缓冲区操作,例如bufdogvim 的命令。

4

1 回答 1

3

简单的方法:只需将正确的键序列放入复制粘贴缓冲区并单击中键(或使用终端仿真器的粘贴功能)即可应用。

更复杂的方式:使用git filter-branch. 例如,要在第二个位置添加一个空行,您可能会使用如下内容:

git filter-branch --msg-filter 'sed "1a\\\\"' from..

from你最后一次好的提交的参考 在哪里。

于 2013-11-12T14:16:09.850 回答