git.path配置不生效需确认三点:值为指向可执行文件的绝对路径、路径中反斜杠已转义(Windows用正斜杠或双反斜杠)、修改后必须完全退出VS Code再重开。

git.path 配置不生效,VS Code 启动后仍报 Git not found
这是最常卡住调试起点的问题:你改了 settings.json 里的 git.path,保存、甚至重启终端,但 SCM 视图还是灰的,Git: Show Git Output 里看不到 Using git X.X.X from ...。根本原因是 VS Code GUI 进程启动时没继承 shell 的环境变量,尤其在 macOS/Linux 上,git.path 是唯一可靠的兜底方式。
必须确认三点:
-
git.path值是绝对路径,且指向可执行文件本身(如/opt/homebrew/bin/git,不是目录) - 路径中不能有未转义的反斜杠(Windows 上用
C:/Program Files/Git/bin/git.exe或C:\Program Files\Git\bin\git.exe) - 修改后**关闭所有 VS Code 窗口**再重开——热重载或仅关闭窗口不退出进程,
git.path不会重新加载
SCM 视图显示文件变更,但点击 “+” 没反应或只加新文件
这不是插件 bug,而是 VS Code 对 git add 行为的有意收敛:+ 图标只执行 git add -N(即只跟踪从未被 Git 记录过的文件),它完全忽略已追踪文件的修改、删除、重命名。调试时若误以为这是“暂存全部”,就会漏掉关键变更。
正确做法取决于你想暂存什么:
- 暂存所有已追踪文件的修改和删除 → 右键任意已修改文件 → Stage Changes,或运行命令
Git: Stage All - 只暂存某几行改动 → 在 SCM 视图中点开文件,hover 到改动行右侧出现
⋯→ Revert Selected Ranges(注意:这是丢弃,不是暂存;暂存粒度需用git add -p,得进终端) - 想让
+行为更接近git add .→ 目前无内置开关,只能靠命令面板或终端
合并冲突界面按钮语义反直觉,点错导致本地代码丢失
VS Code 默认把远端变更(Incoming)放左边、本地变更(Current)放右边,但按钮文字 Accept Current Change 却在右边——视觉上像“接受右边”,实际是“接受当前分支(即你正在工作的本地分支)的变更”。这个设计极易误导,尤其在疲劳状态下。
调试或处理冲突时务必先确认左右内容:
- 左侧(Incoming)是你拉取/合并进来的远端代码
- 右侧(Current)是你本地工作区的代码
- 点
Accept Current Change= 保留右边,丢弃左边;点Accept Incoming Change= 保留左边,丢弃右边 - 不确定时,先点
Open Changes on Left/Right分别在编辑器中打开两版,肉眼比对再决定
终端里 git --version 正常,但 SCM 视图不更新文件状态
说明 Git 调用通了,但 VS Code 的文件监听或仓库识别环节断了。常见于项目嵌套、子模块或符号链接路径。
检查顺序如下:
- 确认当前打开的是**仓库根目录**(即含
.git文件夹的文件夹),不是其子目录 —— VS Code 只在工作区根下初始化 Git provider - 运行
Git: Show Git Output,看是否有类似fatal: not a git repository的错误日志(哪怕只闪一下) - 检查
.git是否被意外删除或损坏:终端进项目根目录,手动跑git status,若报错则需重建仓库或恢复.git - macOS 用户注意:若用 Finder 打开文件夹再拖进 VS Code,可能触发沙盒路径隔离,改用
code /path/to/repo命令行启动更可靠


















