如何在git rebase -i中压缩提交时跳过编辑器提示?

时间:2018-05-16 14:39:07

标签: git

假设我有一个具有很长提交历史记录的Git存储库。我想运行一个交互式rebase来压缩几个提交。

默认情况下,Git提示文本编辑器让用户在每次压缩完成后编辑提交消息,但我想要的是跳过编辑器并直接使用合并的提交消息(因为rebase过程可能需要很长时间才能完成,我不想在每个平面之后等待计算机进行编辑。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

交互式rebase使用您首选的序列编辑器来编辑要运行的命令,但是您首选的 Git编辑器可以编辑压缩的消息。因此,您可以使用两个不同的编辑器设置交互式rebase:一个实际编辑,另一个只是说一切正常,我们已完成。如果您没有选择序列编辑器,则默认为您首选的Git编辑器,这样您就不会发现任何差异,但如果您执行选择两个单独的编辑器,那么

然后,从命令行使用:

GIT_SEQUENCE_EDITOR=<your editor> GIT_EDITOR=true git rebase -i

作为phd pointed out,我们可以让Git通过shell扩展插入您自己选择的编辑器(例如,来自您的core.editor设置),例如sh / bash语法:

GIT_SEQUENCE_EDITOR=$(git var GIT_EDITOR) GIT_EDITOR=true git rebase -i

这将使用/bin/true程序(或其等效的shell)来编辑&#34;编辑&#34;每个合并的提交消息。