mcpField
G
git-clean-gone-branches

git-clean-gone-branches

github.com/everyinc開発25.8k231 回インストール今日更新
リポジトリ

git-clean-gone-branches について

リモート追跡ブランチが削除されたローカル Git ブランチを特定し、確認後に関連するワークツリーとブランチを整理するスキルです。リポジトリを管理する開発者向けで、削除前に対象一覧を提示します。

主な機能

  1. 01リモート状態の取得と整理
  2. 02リモートで削除済みのブランチを特定
  3. 03一覧を表示して削除前に確認
  4. 04関連ワークツリーとブランチを削除

活用シーン

  1. 01リモート側で削除済みのローカルブランチ整理
  2. 02ブランチ削除前の関連ワークツリー確認
  3. 03長期開発後のローカルリポジトリ整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/everyinc/compound-engineering-plugin --skill git-clean-gone-branches

インストール後、Claude Code で/git-clean-gone-branchesを入力して読み込まれたか確認します。

同梱ファイルscripts/clean-gone

詳細

削除済みリモートブランチのクリーンアップ

リモート追跡ブランチが削除されたローカルブランチを、関連するワークツリーも含めて削除します。

ワークフロー

ステップ 1:削除済みブランチを検出する

検出スクリプトを実行して、最新のリモート状態を取得し、削除済みブランチを特定します。

bash scripts/clean-gone

scripts/clean-gone

スクリプトは最初に git fetch --prune を実行し、その後 git branch -vv を解析して : gone] とマークされたブランチを探します。

スクリプトの出力が __NONE__ の場合は、古いブランチが見つからなかったことを報告し、終了します。

ステップ 2:ブランチを提示して確認を求める

削除するブランチの一覧をユーザーに提示します。シンプルなリスト形式にします。

These local branches have been deleted from the remote:

  - feature/old-thing
  - bugfix/resolved-issue
  - experiment/abandoned

Delete all of them? (y/n)

プラットフォームの質問ツール(Claude Code の AskUserQuestion、Codex の request_user_input、Gemini の ask_user など)を使って、ユーザーの回答を待ちます。質問ツールが利用できない場合は、一覧を提示してから、先に進む前にユーザーの返信を待ちます。

これは一覧全体に対する「はい」か「いいえ」の判断です。複数選択やブランチごとの選択肢は提示しないでください。

ステップ 3:確認されたブランチを削除する

ユーザーが確認した場合は、各ブランチを削除します。ブランチごとに、次の手順を実行します。

  1. 関連するワークツリーがあるか確認します(git worktree list | grep "\\[$branch\\]")
  2. ワークツリーが存在し、メインリポジトリのルートでない場合は、先に削除します:git worktree remove --force "$worktree_path"
  3. ブランチを削除します:git branch -D "$branch"

進捗に合わせて結果を報告します。

Removed worktree: .worktrees/feature/old-thing
Deleted branch: feature/old-thing
Deleted branch: bugfix/resolved-issue
Deleted branch: experiment/abandoned

Cleaned up 3 branches.

ユーザーが拒否した場合は、その旨を伝え、何も削除せずに終了します。

コメント