必须用 git-bash.exe,因其是 git for windows 的 gui 启动器,自动注入 git bin 目录、ssh 工具链及完整环境变量;bash.exe 仅为纯 shell,缺少封装导致 git、ssh、npm 等命令不可用。

选 git-bash.exe,不是 bash.exe,也不是 sh.exe 或 cmd.exe —— 否则 git 命令大概率报 “not recognized”。
为什么必须用 git-bash.exe?
VSCode 的终端 profile 需要的是 Git for Windows 自带的 GUI 启动器,它会自动注入 Git 的 bin 目录、SSH 工具链、PATH 和环境变量封装(比如 git、ssh-add、curl)。而 bash.exe 是纯 shell,不带这些封装,即使路径正确,git 命令仍可能找不到。
常见错误现象:
-
git --version报错:'git' is not recognized as an internal or external command - 能启动终端,但
ssh连不上 GitHub,npm全局命令也失效 - 终端提示符是
user@host MINGW64 ~,但实际执行不了任何 Git 操作
验证方式:右键你的 git-bash.exe → “属性” → 看“目标”栏是否形如:"C:\Program Files\Git\git-bash.exe" --cd-to-home。复制路径时删掉末尾的 --cd-to-home 即可。
settings.json 里怎么写才真正生效?
只改 terminal.integrated.defaultProfile.windows 不够,VSCode 1.79+ 完全弃用旧字段,必须成对配置:
-
terminal.integrated.defaultProfile.windows值必须和terminal.integrated.profiles.windows里的 key **完全一致**(空格、大小写、标点都不能差) -
path必须指向git-bash.exe,例如:"C:/Program Files/Git/git-bash.exe"(推荐正斜杠,避免双反斜杠手误) -
args推荐加["--login", "-i"]:前者加载~/.bashrc(含 alias、npm bin),后者强制交互模式防闪退 - 整个 JSON 必须合法:逗号不能多也不能少,结尾不能有 trailing comma
正确示例片段(插入已有 settings.json 花括号内):
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.profiles.windows": {
"Git Bash": {
"path": "C:/Program Files/Git/git-bash.exe",
"args": ["--login", "-i"],
"icon": "terminal-bash"
}
}
改完还是开 PowerShell?先关再开,别复用
VSCode 不会把正在运行的终端“热切换”。你改完配置后:
- 必须手动关闭所有已打开的终端面板(点每个终端右上角的 ×,不是最小化)
- 再用
Ctrl + Shift + `新建终端,或命令面板执行Terminal: Create New Terminal - 千万别点已有终端右上角的「+」——那是复用当前类型,不是新建默认类型
- 如果新终端仍显示 PowerShell,说明 profile 注册失败:检查
localStorage.getItem('terminal.integrated.defaultProfile')(在 DevTools Console 里运行),看返回值是不是"Git Bash"
另外注意:工作区(.vscode/settings.json)或远程开发(WSL/SSH)场景下,配置会被更高优先级覆盖,此时需在对应上下文中单独配 terminal.integrated.defaultProfile.linux 或 terminal.integrated.defaultProfile.ssh。
路径含空格或中文就静默失效
VSCode 解析 settings.json 时,若 path 字段值含未转义的空格或中文,整个 profile 块会被静默忽略,且不报错。终端下拉菜单里就看不到 “Git Bash” 选项。
排查方法:
- 打开资源管理器,直接双击你填的
git-bash.exe路径,确认能正常弹窗 - 路径中含空格(如
Program Files)没问题,但 JSON 里必须用正斜杠或双反斜杠 - 绝对不要用单反斜杠:
C:\Program Files\Git\git-bash.exe→ JSON 解析失败 - 便携版 Git 常装在
C:/Users/{user}/AppData/Local/Programs/Git/git-bash.exe,建议用这个路径更稳定
最容易被忽略的其实是 profile 名称拼写一致性,以及终端复用机制 —— 很多人改完配置却没关旧终端,以为配置无效,其实只是没生效到新实例上。











