Repository navigation
v0.1.1 - auto-locate Git Bash
v0.1.1 — 自动定位 Git Bash
修复
- 不再假设 Git 装在
C:\Program Files\Git。 Git for Windows 的安装位置因安装方式与用户习惯而异(机器级 / 用户级 / scoop / chocolatey),现在按多级解析链自动定位:- 行
config的bashPath - 环境变量
DSH_GIT_BASH - 注册表
HKLM/HKCU下SOFTWARE\GitForWindows的InstallPath(与安装位置无关的权威来源) %ProgramFiles%\Git\bin、%ProgramFiles(x86)%、%ProgramW6432%%LOCALAPPDATA%\Programs\Git\bin(用户级安装默认位置)- scoop、chocolatey
- PATH:各项下的
bash.exe,以及git.exe同级的..\bin\bash.exe(Git 安装器默认只把Git\cmd放进 PATH,从不放Git\bin)
- 行
- 显式指定的路径会被校验:
bashPath/DSH_GIT_BASH指向不存在的文件时,报出可操作的错误,而不是裸ENOENT崩溃。 - 找不到时不会退到 WSL 的
bash(另一个内核里的 Linux 进程,语义不对),而是列出所有尝试过的路径。 - 挂载时记录实际使用的
bash.exe,便于排查。
升级(重要)
pnpm 不会重新拉取同名依赖,必须先移除再安装:
dsh plugin --profile web remove dsh-git-bash
dsh plugin --profile web add "https://github.com/Fishquito7/dsh-gitbash/releases/latest/download/dsh-git-bash.tgz"然后重启 DSH。
资产
dsh-git-bash-0.1.1.tgz—— 带版本号,便于归档与校验dsh-git-bash.tgz—— 稳定别名,已更新为 0.1.1;README 里的在线安装命令始终指向它
追加修复(同版本内更新)
- 解析结果只在进程内缓存一次,但每次使用前都会复核:如果 Git 被卸载、搬到别处或路径失效,会自动重新走一遍解析链;解析到新位置就继续用,解析不到才报错。
- 报错会指出「之前用的那条路径已经不存在」,并列出这次尝试过的全部候选,而不是裸
ENOENT。