运行git interactive rebase时vscode自动关闭是什么原因?如何解决
原因分析
该问题的核心是Git的编辑器配置参数错误:当你只将core.editor设置为code时,code命令启动VS Code后会立即退出(转入后台运行),Git会判定你已经完成了rebase todo文件的编辑,直接删除临时文件并结束交互流程,所以会出现文件短暂弹出后提示已从磁盘删除、标签页自动关闭的现象。
可行解决方法
方法1:修改全局Git编辑器配置(推荐)
给VS Code启动参数添加--wait标识,该参数会让code命令保持阻塞状态,直到你手动关闭对应的编辑标签页,Git才会继续执行后续流程。执行以下命令即可完成配置:git config --global core.editor "code --wait"配置完成后可以执行
git config --global -e测试:如果VS Code弹出.gitconfig文件,关闭标签页后终端才会返回命令行,说明配置已生效。方法2:单次临时指定编辑器参数
如果你不想修改全局配置,仅本次rebase使用VS Code作为编辑器,可以在执行rebase命令时临时指定编辑器参数:GIT_EDITOR="code --wait" git rebase -i <commit>其他异常排查
如果上述配置后仍有问题,可以做以下检查:- 确认
code命令已正确加入系统环境变量,在终端执行code --version能正常返回VS Code版本号 - 检查当前仓库是否存在自动终止rebase流程的钩子脚本,可临时移除
.git/hooks/pre-rebase文件后重试
- 确认
内容的提问来源于stack exchange,提问作者user-is-here
相关产品推荐
相关产品推荐

