没有编辑器的交互式变基

Interactive rebase without editor

我想在当前分支的近期历史中拆分一个未推送的提交。只要我知道这只能使用交互式变基(或完全手动完成)。

如何调用交互式变基使其不显示文本编辑器,例如通过准备编辑结果?

我的理解是否正确,您想执行以下操作:

  1. 提前(在某处)准备你的 rebase 交互文件
  2. 在不打开文本编辑器(例如,在另一台机器上)的情况下进行变基

您可以按如下方式进行:

首先创建一个伪造的文本编辑器:将以下内容添加到名为 edit.sh

的 sh 文件中
cat file > 

其中文件指的是放置交互式变基指令的某个位置。

确保 edit.sh 是可执行的

接下来,运行变基如下:

GIT_EDITOR=edit.sh git rebase -i branch_to_rebase_on

而不是打开编辑器;这将打开 sh 脚本。 sh 脚本只是将 rebase 的指令写入 rebase 文件。