Remote SSH连接下使用VSCode作为Git默认编辑器变基的问题
解决Remote SSH环境下VSCode作为Git编辑器处理交互式变基的问题
直接解决方案
将Git全局编辑器配置修改为:
git config --global core.editor "code --reuse-window --wait"
问题根源解析
- 使用
code --wait时,交互式变基生成的临时文件存储在远程服务器,但VSCode的SSH会话未正确关联当前窗口的远程上下文,导致出现“文件未找到”错误。 - 使用
code -n --wait会强制启动新VSCode窗口,每一步变基都会重新建立SSH连接,不符合在当前窗口处理的需求。
参数说明
--reuse-window:强制VSCode在已打开的当前远程窗口中新建标签页打开目标文件,避免启动新窗口。--wait:让Git等待VSCode关闭该文件标签后再继续执行后续流程,这是Git指定编辑器时的必要参数,确保Git能获取到编辑后的内容。
验证步骤
执行交互式变基命令测试:
git rebase -i --root
此时git-rebase-todo文件会在当前VSCode远程窗口的新标签中打开,编辑保存并关闭标签后,Git将正常继续变基流程,既不会出现文件找不到的错误,也不会新建窗口或重复建立SSH连接。
内容的提问来源于stack exchange,提问作者Wasabi
相关产品推荐
相关产品推荐

