Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Safely find and clean up merged or stale Git branches with dry-run mode and custom base/protected branches support
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 6% | 0% |
该命令安全地识别并清理已合并或长期未更新 (stale) 的 Git 分支。 默认以只读预览 (--dry-run) 模式运行,需明确指令才会执行删除操作。
bash# [最安全] 预览将要清理的分支,不执行任何删除 /git-cleanBranches --dry-run # 清理已合并到 main 且超过 90 天未动的本地分支 (需逐一确认) /git-cleanBranches --stale 90 # 清理已合并到 release/v2.1 的本地与远程分支 (自动确认) /git-cleanBranches --base release/v2.1 --remote --yes # [危险] 强制删除一个未合并的本地分支 /git-cleanBranches --force outdated-feature
--base <branch>:指定清理的基准分支(默认为仓库的 main/master)。--stale <days>:清理超过指定天数未提交的分支(默认不启用)。--remote:同时清理远程已合并/过期的分支。--dry-run:默认行为。仅列出将要删除的分支,不执行任何操作。--yes:跳过逐一确认的步骤,直接删除所有已识别的分支(适合 CI/CD)。--force:使用 -D 强制删除本地分支(即使未合并)。git fetch --all --prune,确保分支状态最新。--base 参数或自动识别的 main/master 作为比较基准。--base 的本地(及远程,如加 --remote)分支。--stale <days>,找出最后一次提交在 N 天前的分支。--yes 参数,命令到此结束,等待用户确认后再次执行(不带 --dry-run)。--dry-run 且用户确认后(或带 --yes)执行。git branch -d <branch>;远程用 git push origin --delete <branch>。--force,本地删除会改用 git branch -D <branch>。为防止误删重要分支(如 develop, release/*),请在仓库的 Git 配置中添加保护规则。命令会自动读取。
bash# 保护 develop 分支 git config --add branch.cleanup.protected develop # 保护所有 release/ 开头的分支 (通配符) git config --add branch.cleanup.protected 'release/*' # 查看所有已配置的保护分支 git config --get-all branch.cleanup.protected
--dry-run:养成先预览再执行的习惯。--base:维护长期 release 分支时,用它来清理已合并到该 release 的 feature 或 hotfix 分支。--force:除非你百分百确定某个未合并分支是无用功,否则不要强制删除。release / develop 工作流。date -d 等命令。/commit 命令共享相似的参数设计与文档结构。Other measured skills in the registry, with their headline benchmark lift.