DSH Plugins
返回列表
⚙️

dsh-branch-cleaner

工作流 更新于 2026.10.20

在终端中运行以下命令:

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 清理的人