dsh-branch-cleaner
在终端中运行以下命令:
dsh plugin install ramwin/dsh-branch-cleaner
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端执行 dsh plugin install ramwin/dsh-branch-cleaner(源码:https://github.com/ramwin/dsh-branch-cleaner),安装后重开 dsh web 或刷新页面即可使用 git_clean_branches 工具。
插件介绍
仓库里分支越积越多,却不敢随便删——`git branch --merged` 只认祖先合并,squash merge、rebase 或 cherry-pick 落地的分支它永远认不出来,本地几十个、远程上百个分支就这样留着。
dsh-branch-cleaner 把几种「其实已经落地」的情况都判出来:常规 merge、squash 合并(用 merge-tree 判断合回主线是否改变主线)、rebase/cherry-pick(用 cherry 看补丁是否已在主线)、上游已删的跟踪分支,以及可选的 GitHub 已合并 PR。默认 mode=report 只列清单,不 checkout、不 rebase、不碰工作区;确认后再 delete,且每个被删分支的 SHA 会记到 refs/backup 便于恢复。基线分支、当前检出、worktree 占用以及 main/develop/release/* 等保留规则一律不动。
适合长期维护多分支协作的开发者、负责仓库卫生或发布分支策略的维护者,以及想在对对话里用自然语言先「看看能删哪些」再动手清理的人。需要时可连同远程 origin 上的冗余分支、按分支 tip 年龄过滤,或对已初始化子模块递归做本地清理。
使用场景
- 本地或远程堆积大量已合并分支需要安全盘点
- squash/rebase 落地后 git branch --merged 认不出该删谁
- 发布或迭代前想先报告再删并保留 develop/release 规则
适合人员
- 长期多分支协作的日常开发者
- 负责仓库卫生与分支策略的维护者
- 习惯在对话里用自然语言驱动 Git 清理的人