Git 无编辑器的交互式重基

Git 无编辑器的交互式重基,git,git-rebase,Git,Git Rebase,我想在当前分支的近历史记录中拆分一个未推送的提交。据我所知,这只能通过使用交互式重基实现(或者完全手动实现) 如何调用交互式重基以使其不显示文本编辑器,例如通过准备编辑结果?我是否正确理解您希望执行以下操作: 提前(在某处)准备您的rebase交互式文件 在不打开文本编辑器的情况下(例如,在另一台机器上)重新设置基础 您可以按如下方式执行此操作: 首先创建一个伪文本编辑器:将以下内容添加到名为edit.sh的sh文件中 cat file > $1 where file指的是您将在其中放置

我想在当前分支的近历史记录中拆分一个未推送的提交。据我所知,这只能通过使用交互式重基实现(或者完全手动实现)


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

我是否正确理解您希望执行以下操作:

  • 提前(在某处)准备您的rebase交互式文件
  • 在不打开文本编辑器的情况下(例如,在另一台机器上)重新设置基础
  • 您可以按如下方式执行此操作:

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

    cat file > $1
    
    where file指的是您将在其中放置交互式重基说明的某个位置

    确保edit.sh是可执行的

    接下来,按如下方式运行重基:

    GIT_EDITOR=edit.sh git rebase -i branch_to_rebase_on
    

    而不是打开一个编辑器;这将打开sh脚本。sh脚本只是将重新基准的说明写入重新基准文件。

    如果不在编辑器中指定要重新基准的内容,您希望或期望发生什么?我预计会出现错误。只是想避免Git启动编辑器。像nano或vim这样的终端编辑器如何?不,该命令应该由应用程序调用,而无需用户交互。谢谢。是否有另一种独立于平台的方法来实现这一点,例如通过使用特定选项启动
    git-rebase-i