Releases: Wongzexu/dsh-git-status
Release list
v0.4.1 —— 插件改名 @wongzexu/dsh-git-status 并发布 npm
本版要点
插件正式改名为 @wongzexu/dsh-git-status 并发布 npm(v0.4.0)。
npm 上的 dsh-git-status 名称已被其他作者的 React 实现占用(与本插件无关),
无作用域名 dsh-gitstatus 又被 npm 相似度保护拒绝,故采用 scoped 包名;
GitHub 仓库名保持不变。GitHub 版本号用 v0.4.1,是因为 v0.4.0 已被旧身份的首个发布占用。
安装
方式一(npm,推荐):
dsh plugin --profile web add @wongzexu/dsh-git-status
方式二(GitHub 源码):
dsh plugin --profile web add github:Wongzexu/dsh-git-status
方式三(本地目录,开发/自用):
dsh plugin --profile web add /path/to/dsh-git-status
迁移提示:旧版本以
dsh-git-status身份安装。升级请先
dsh plugin --profile web remove dsh-git-status再按新包名安装;
插件面板中显示的新 id 为@wongzexu/dsh-git-status。已装旧实例不受影响。
功能更新(相对 v0.4.0)
- 改名并发布 npm:
@wongzexu/dsh-git-status@0.4.0,安装/卸载/启用命令与文档全部同步 - 分支徽标多远程折叠:同一分支 ≥2 个远程折叠为计数子标签
⎇ main [2],
悬停显示完整远程引用列表,右键先选远程再操作;游离 HEAD 徽标缩为 H - 推送分支:右键本地分支「推送到远程…」——远程多选(复选框 + 选择记忆)+
Set Upstream + normal / force-with-lease / force 三模式,失败保留对话框可重试 - stash 操作:应用 / 弹出 / 从 stash 建分支并检出 / 删除(确认框),
冲突分类提示且 stash 保留;右键未提交虚拟行「暂存未提交改动」 - 远程/标签操作:删除远程分支(远程已删自动降级清理本地跟踪引用)、
推送 tag / 删除 tag(每远程一项,无远程时禁用)、右键 commit「创建 tag…」
(轻量/附注 + 多远程推送)与「以该提交为起点新建分支」 - merge 支持 --no-ff;切换守卫:冲突 / 进行中操作 / 其他 worktree /
已跟踪未提交改动确认框(force 旁路) - UI 打磨:删除确认框自绘 + 操作反馈提示优化;滚动条主题中性灰
(color-mix + 旧引擎回退)+ scrollbar-gutter 防布局跳动 - 文档:中英双语完整操作指南(docs/USAGE.md)、dshfind 与
Awesome DSH Plugin 收录徽章、上游参考源码沉淀
工程
- 150 个 node:test 用例全部通过(真实 git fixture,零第三方依赖)
- 纯前端自渲染 DOM(greeter 模式,零 React、零构建链)
- Node half 八路由:git log / show / branch / fetch / push / remote / stash / events,
写路由 CSRF 防护 + 权威校验,fetch/push 超时放宽 - MIT 许可
v0.4.0 —— Git 状态(Git Graph)插件首个发布
⚠️ 开发与测试状态 · In development & testing
当前版本(v0.4.0)处于开发与测试阶段:功能与行为可能随迭代调整,接口尚未冻结;正式使用前请先在非关键环境自测评估,并留意后续版本更新。
The current version (v0.4.0) is under active development and testing: features and behavior may change with each iteration, and interfaces are not yet frozen — evaluate in non-critical environments before relying on it, and watch for future releases.
主要功能
- commit DAG 泳道图:SVG 渲染,第一父链成线、泳道复用、合并连线、HEAD 加粗圆点
- 行内 refs 徽标:HEAD(红)/ 分支(金)/ 远程(蓝)/ 标签(绿),当前分支亮金高亮,同名本地/远程合并 pill
- 未提交改动虚拟行 + stash 显示:空心圆虚线连 HEAD,展开按「更改 / 暂存的更改」分组详情
- 行内展开提交详情:提交信息 + 变更文件 + 逐文件 diff(256KB 截断)
- 分支操作:右键切换 / 合并 / 重命名 / 删除 / 强制删除;远程分支创建本地分支;tag 建分支;「+」新建分支(客户端 + 服务端双重校验)
- 切换守卫:冲突 / 进行中操作 / 其他 worktree / 已跟踪未提交确认(force 旁路)
- 合并冲突处理:中止合并 / 继续合并
- 一键拉取全部远程:
git fetch --all,失败分类提示 - SSE 即时刷新:2s 状态键对比 + 15s 心跳,断连 10s 轮询兜底
- 浮窗交互:可拖拽、位置记忆、悬浮开关按钮、首次使用引导气泡
安装
dsh plugin --profile web add <插件目录>完整文档见 README 与 docs/USAGE.md(中英双语操作指南)。