没有编辑器的交互式变基
Interactive rebase without editor
我想在当前分支的近期历史中拆分一个未推送的提交。只要我知道这只能使用交互式变基(或完全手动完成)。
如何调用交互式变基使其不显示文本编辑器,例如通过准备编辑结果?
我的理解是否正确,您想执行以下操作:
- 提前(在某处)准备你的 rebase 交互文件
- 在不打开文本编辑器(例如,在另一台机器上)的情况下进行变基
您可以按如下方式进行:
首先创建一个伪造的文本编辑器:将以下内容添加到名为 edit.sh
的 sh 文件中
cat file >
其中文件指的是放置交互式变基指令的某个位置。
确保 edit.sh 是可执行的
接下来,运行变基如下:
GIT_EDITOR=edit.sh git rebase -i branch_to_rebase_on
而不是打开编辑器;这将打开 sh 脚本。 sh 脚本只是将 rebase 的指令写入 rebase 文件。
我想在当前分支的近期历史中拆分一个未推送的提交。只要我知道这只能使用交互式变基(或完全手动完成)。
如何调用交互式变基使其不显示文本编辑器,例如通过准备编辑结果?
我的理解是否正确,您想执行以下操作:
- 提前(在某处)准备你的 rebase 交互文件
- 在不打开文本编辑器(例如,在另一台机器上)的情况下进行变基
您可以按如下方式进行:
首先创建一个伪造的文本编辑器:将以下内容添加到名为 edit.sh
的 sh 文件中cat file >
其中文件指的是放置交互式变基指令的某个位置。
确保 edit.sh 是可执行的
接下来,运行变基如下:
GIT_EDITOR=edit.sh git rebase -i branch_to_rebase_on
而不是打开编辑器;这将打开 sh 脚本。 sh 脚本只是将 rebase 的指令写入 rebase 文件。