VS Code引入Worktree支持后Git分支切换流程变更,如何恢复旧行为?
解决VS Code中
Git: Checkout to...需先选仓库的问题 稳定禁用内置Git Worktree支持的配置
要恢复旧版直接选择分支/标签的切换行为,需在用户级settings.json中添加以下完整配置(确保删除所有工作区的Git相关设置,避免冲突):
{ "git.detectWorktrees": false, "git.detectWorktreesLimit": 0, "git.repositoryScanMaxDepth": 0, "git.autoRepositoryDetection": "off", "git.openRepositoryInParentFolders": "never", "git.repositoryScanIgnoredFolders": [ "**/.git/worktrees/**", "**/.worktrees/**" ] }
添加完成后彻底退出并重启VS Code(不要仅重载窗口),此时VS Code会停止检测任何Git Worktree,Git: Checkout to...命令将直接显示当前仓库的分支、标签列表。
失效时的额外排查步骤
如果上述配置没效果,试试这些操作:
- 清理VS Code缓存:Linux/Bazzite系统删除
~/.config/Code/Cache目录,Windows系统删除%APPDATA%\Code\Cache目录,之后重启软件 - 临时禁用所有第三方Git相关插件(比如GitLens),排查是否存在插件冲突
- 重置VS Code用户设置为默认,再手动重新添加上述配置(避免同步设置遗留的异常)
替代方案:自定义快捷键直接触发分支选择
如果内置命令仍有异常,可通过快捷键绑定跳过仓库选择步骤:
- 打开快捷键设置(快捷键:Ctrl+K Ctrl+S)
- 点击右上角「打开键盘快捷方式(JSON)」
- 添加以下配置(替换成你常用的快捷键组合):
{ "key": "ctrl+shift+g c", "command": "git.checkout", "when": "gitRepositoryCount == 1" }
这个绑定会在当前仅检测到一个Git仓库时,直接弹出分支选择界面,无需先选仓库。
内容的提问来源于stack exchange,提问作者Max Tuzenko




