本文へ移動
cccskills
無料GitHub で公開

git-clean-branches

Safely find and clean up merged or stale Git branches with dry-run mode and custom base/protected branches support

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Claude Command: Clean Branches

This command safely identifies and cleans up merged or stale Git branches. Runs in read-only preview (--dry-run) mode by default, requiring explicit instructions to perform deletions.


Usage

# [Safest] Preview branches to be cleaned without executing any deletions
/git-cleanBranches --dry-run

# Clean local branches merged to main and inactive for over 90 days (requires individual confirmation)
/git-cleanBranches --stale 90

# Clean local and remote branches merged to release/v2.1 (auto-confirm)
/git-cleanBranches --base release/v2.1 --remote --yes

# [Dangerous] Force delete an unmerged local branch
/git-cleanBranches --force outdated-feature

Options

  • --base <branch>: Specify the base branch for cleanup (defaults to repository's main/master).
  • --stale <days>: Clean branches with no commits for specified days (disabled by default).
  • --remote: Also clean remote merged/stale branches.
  • --dry-run: Default behavior. Only list branches to be deleted without executing any operations.
  • --yes: Skip individual confirmations and delete all identified branches directly (suitable for CI/CD).
  • --force: Use -D to force delete local branches (even if unmerged).

What This Command Does

  1. Configuration and Safety Checks

    • Update Information: Automatically executes git fetch --all --prune to ensure branch status is current.
    • Read Protected Branches: Reads the list of branches that should not be cleaned from Git config (see "Configuration" below).
    • Determine Base: Uses --base parameter or auto-detected main/master as comparison baseline.
  2. Analysis and Identification (Find)

    • Merged Branches: Find local (and remote if --remote is added) branches fully merged to --base.
    • Stale Branches: If --stale <days> is specified, find branches with last commit N days ago.
    • Exclude Protected Branches: Remove all configured protected branches from cleanup list.
  3. Report and Preview (Report)

    • Clearly list "merged branches to be deleted" and "stale branches to be deleted".
    • Without --yes parameter, command ends here, waiting for user confirmation to re-execute (without --dry-run).
  4. Execute Cleanup (Execute)

    • Only executed without --dry-run and after user confirmation (or with --yes).
    • Delete identified branches one by one, unless user chooses to skip in interactive confirmation.
    • Local: git branch -d <branch>; Remote: git push origin --delete <branch>.
    • If --force is specified, local deletion uses git branch -D <branch>.

Configuration (Configure Once, Use Forever)

To prevent accidental deletion of important branches (e.g., develop, release/*), add protection rules to the repository's Git config. The command reads them automatically.

# Protect develop branch
git config --add branch.cleanup.protected develop

# Protect all branches starting with release/ (wildcard)
git config --add branch.cleanup.protected 'release/*'

# View all configured protected branches
git config --get-all branch.cleanup.protected

Best Practices for Embedded Devs

  • Prioritize --dry-run: Develop the habit of previewing before executing.
  • Leverage --base: When maintaining long-term release branches, use it to clean feature or hotfix branches merged to that release.
  • Careful with --force: Don't force delete unless you're 100% certain an unmerged branch is useless.
  • Team Collaboration: Notify the team channel before cleaning shared remote branches.
  • Regular Runs: Run monthly or quarterly to keep the repository clean.

Why This Version Is Better

  • ✅ Safer: Default read-only preview with configurable protected branch list.
  • ✅ More Flexible: Supports custom base branches, perfectly fits release / develop workflows.
  • ✅ More Compatible: Avoids commands with inconsistent behavior across systems like date -d.
  • ✅ More Intuitive: Condenses complex 16-step checklist into a single command with safety options.
  • ✅ Consistent Style: Shares similar parameter design and documentation structure with /commit command.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

bmad-init

無料

Initialize or update BMad-Method (V6) in your project

日本語の概要は準備中です。原文の説明を表示しています。

UfoMiao/zcf6,0762026年8月31日 更新

bmad-init

無料

在项目中初始化或更新 BMad-Method (V6)

日本語の概要は準備中です。原文の説明を表示しています。

UfoMiao/zcf6,0762026年8月31日 更新

feat

無料

Add New Feature

日本語の概要は準備中です。原文の説明を表示しています。

UfoMiao/zcf6,0762026年8月31日 更新

feat

無料

用于新增功能开发的命令,支持完整的开发流程和工具集成

日本語の概要は準備中です。原文の説明を表示しています。

UfoMiao/zcf6,0762026年8月31日 更新

安全查找并清理已合并或过期的 Git 分支,支持 dry-run 模式与自定义基准/保护分支

日本語の概要は準備中です。原文の説明を表示しています。

UfoMiao/zcf6,0762026年8月31日 更新

仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过)

日本語の概要は準備中です。原文の説明を表示しています。

UfoMiao/zcf6,0762026年8月31日 更新

UfoMiao のスキルをすべて見る

このスキルの問題を報告する