我想重新格式化几个提交的提交消息(大约30个)。在许多提交中,我忽略了在“短”消息之后添加换行符,这导致了此问题中描述的问题:How to output git log with the first line only?,所以我想重写包含此换行符的提交消息。
我运行了命令git rebase -i -p <commit-id of last good commit>
,如本答案中所述:How do I edit an incorrect commit message in Git?,然后在打开的编辑器窗口中,我将pick
替换为reword
以进行提交消息我想编辑。
这导致每次提交一次一个git打开文本编辑器。我猜它是这样设计的,因为git需要在每次更改后进行rebase。
但是,在这种情况下,我只更改提交消息,而不是更改任何文件。是否可以通过立即打开所有文本编辑器窗口来加快速度?
例如,如果这些窗口可以在一个文本编辑器进程的多个缓冲区中打开(大多数文本编辑器支持这个),那么我可以使用多缓冲区操作,如gvim的bufdo
命令。
答案 0 :(得分:1)
简单方法:只需将正确的密钥序列放入复制粘贴缓冲区,然后单击鼠标中键(或使用终端仿真器的粘贴功能)即可应用。
参与方式越多:使用git filter-branch
。例如,要在第二个位置添加空行,您可能会使用以下内容:
git filter-branch --msg-filter 'sed "1a\\\\"' from..
其中from
是对您上一次良好提交的引用。