You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode/VSCodium切换分支后误显示Git Gutters问题与解决

VSCodium中Git软链接仓库分支切换后误报变更问题

环境信息

VSCodium版本:1.75.1、1.76

问题现象

切换分支后,编辑器显示文件存在未提交变更,但仓库实际无任何未提交内容:源代码控制标签未显示未提交项,git diff也无输出。该现象表现为编辑器似乎在将当前分支与打开编辑器前所在的分支对比,通过外部终端执行git switch切换分支也会触发此问题。唯一临时解决方式是重载VSCode窗口,但再次切换分支后问题会复发,且在测试仓库中无法复现。

排查结论

  • 仅在.git为软链接指向其他文件夹的仓库(如AOSP仓库)中复现该问题;
  • 无软链接的仓库不受影响;
  • 确认编辑器侧边的变更提示条为Git Gutters;
  • 已在VSCode官方Issue追踪器提交问题

临时解决方案

初始脚本

编写以下脚本并配置到VSCode的settings.json中("git.path": "/home/yaro/set-actual-git-dir"):

#!/bin/bash

git --git-dir="$(realpath .git/)" "${@}"

适配Git Blame扩展的脚本

因上述脚本导致Git Blame扩展失效,更新脚本如下:

#!/bin/bash

if [ -z "$VSCODE_GIT_COMMAND" ]; then
    git "${@}"
else
    git --git-dir="$(realpath .git/)" "${@}"
fi

该脚本仅为VSCode核心Git命令设置--git-dir,不影响扩展(如Git Blame)的正常运行。

内容的提问来源于stack exchange,提问作者Yaro Slav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:45:19