mcpField
S
soft-delete-git

soft-delete-git

github.com/rubenflamshepherd開発0149 回インストール4 週間前に更新
リポジトリ

soft-delete-git について

soft-delete-git は、現在の Git ブランチを安全に削除するスキルです。作業ツリーを確認してデフォルトブランチを更新し、squash マージ済みのプルリクエストを確認した場合に限り強制削除を行います。

主な機能

  1. 01未コミットの変更を確認
  2. 02現在とデフォルトのブランチを特定
  3. 03削除前にデフォルトブランチを更新
  4. 04通常は安全なブランチ削除を使用
  5. 05強制削除前に squash マージ済みのプルリクエストを検証

活用シーン

  1. 01完了した機能ブランチを安全に削除
  2. 02作業ツリーが汚れている場合にユーザーへ確認
  3. 03GitHub の squash マージ後のブランチを処理

インストール

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

$npx skills add https://github.com/rubenflamshepherd/ruben-agent-skills --skill soft-delete-git

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

詳細

Git ブランチのソフト削除ワークフロー

呼び出し時の動作

ブランチ名を明示せずにこのスキルを呼び出した場合は、現在チェックアウトされているブランチを対象にします。このスキルの呼び出しは、ワークフローをすぐに開始する許可とみなします。どのブランチを削除するか尋ねる前に、作業ツリーを確認し、現在のブランチを特定してください。

ユーザーに進め方を尋ねるのは、次の場合に限ります。

  • 作業ツリーに変更がある場合。
  • 現在のブランチがデフォルトブランチである場合。
  • 安全な削除に失敗し、強制削除に確認が必要な場合。

開始前に現在のブランチ名をユーザーに尋ねたり、確認を求めたりしないでください。

手順:

  1. 未コミットの変更を確認する

    git status --porcelain
    

    作業ツリーに変更がある場合は停止し、ブランチを切り替える前に、どのように進めるか(コミット、スタッシュ、破棄)をユーザーに尋ねてください。

  2. 現在のブランチ名を取得する

    git branch --show-current
    

    すでにデフォルトブランチにいる場合、削除するブランチはありません。停止し、どのブランチを指していたのかユーザーに尋ねてください。

  3. デフォルトブランチを特定する

    git symbolic-ref --short refs/remotes/origin/HEAD
    

    これは例として origin/main を返します。デフォルトブランチは origin/ より後の部分です。参照が設定されていない場合は、main を使用してください。

  4. デフォルトブランチをチェックアウトする

    git checkout <default-branch>
    
  5. 最新の変更をプルする

    git pull
    
  6. 以前のブランチをソフト削除する

    git branch -d <branch-name>
    
  7. ソフト削除に失敗した場合は、スカッシュマージを確認する

    GitHub の「Squash and merge」でマージされたブランチでは、ブランチの先端がデフォルトブランチの祖先にならないため、git branch -d は失敗します。ブランチの PR が実際にマージされているか確認してください。

    gh pr view <branch-name> --json state,mergedAt
    
    • PR の状態が MERGED の場合は、ユーザーに確認してから、git branch -D <branch-name> で削除します。
    • それ以外の場合は、強制削除せずユーザーに対応を求めてください。

メモ:

  • ソフト削除には小文字の -d を使用します(未マージのブランチが削除されない安全な削除です)。
  • 上記のスカッシュマージを確認できた場合を除き、大文字の -D(強制削除)は決して使用しないでください。また、その場合もユーザーの確認後に限ります。
  • このワークフローでは、削除を試みる前にデフォルトブランチが最新の状態であることを確認します。

コメント