From git-actions
Git マージワークフローの実行。feature ブランチを main にマージしてプッシュする。Use when user wants to merge to main, integrate changes to main branch, or complete a feature branch.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git-actions:mergeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
このスキルは feature ブランチを main にマージしてプッシュする全ワークフローを提供します。
このスキルは feature ブランチを main にマージしてプッシュする全ワークフローを提供します。
重要: git コマンドは作業ディレクトリで直接実行する。git -C は使用禁止。
以下の git コマンドを並列で実行し、現在の状態を把握する:
git status # ワーキングツリーの状態
git branch --show-current # カレントブランチ
git fetch origin main # リモート main を最新化
git log main..HEAD --oneline # マージ対象コミット一覧
以下の条件を確認:
| チェック | 失敗時の動作 |
|---|---|
| ワーキングツリーがダーティ | エラー終了、コミット or stash を促す |
| カレントブランチが main | エラー終了、feature ブランチから実行を促す |
| マージ対象コミットがない | 警告表示、ユーザー確認を求める |
| コンフリクトの可能性 | 警告表示、ユーザー確認を求める |
# main との共通祖先を取得
git merge-base main HEAD
# 差分ファイル一覧
git diff --stat main...HEAD
マージを実行する前に、必ず AskUserQuestion ツールを使用して以下を確認する:
確認が取れた場合のみ、次のマージ実行フローに進む。 確認なしでの実行は禁止。
# 元のブランチを保存
FEATURE_BRANCH=$(git branch --show-current)
# main に切り替え(フック回避が必要)
GIT_ACTIONS_ALLOW_PROTECTED_BRANCH=1 git checkout main
# リモートから最新取得
git pull origin main
# feature ブランチをマージ(--no-ff でマージコミットを強制)
git merge $FEATURE_BRANCH --no-ff -m "$(cat <<'EOF'
Merge branch 'FEATURE_BRANCH' into main
## マージ内容
- <変更の要約をここに記述>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
EOF
)"
# main をプッシュ(フック回避が必要)
GIT_ACTIONS_ALLOW_PROTECTED_BRANCH=1 git push origin main
重要: 実際のコマンド実行時は $FEATURE_BRANCH を実際のブランチ名に置き換える。
マージ中にコンフリクトが発生した場合、git-resolve-conflicts スキルに従ってコンフリクト解消を実行する。
解消完了後:
git status で全てのコンフリクトが解消されたことを確認ユーザーが中止を選択した場合は git merge --abort を実行し、元の feature ブランチに戻る。
マージ成功後、以下を提案:
元のブランチに戻る
git checkout $FEATURE_BRANCH
feature ブランチの削除(オプション)
# ローカル削除
git branch -d $FEATURE_BRANCH
# リモート削除
git push origin --delete $FEATURE_BRANCH
--force オプション付きのマージ--no-verify オプションこのスキルは main ブランチへのマージ・プッシュが目的のため、
GIT_ACTIONS_ALLOW_PROTECTED_BRANCH=1 環境変数を設定して
保護ブランチフックをバイパスする。
これは意図された動作であり、ユーザーが明示的にマージコマンドを 実行した場合のみ適用される。
# 1. 事前確認
$ git status
On branch feature/add-login
nothing to commit, working tree clean
$ git branch --show-current
feature/add-login
$ git fetch origin main
From github.com:user/repo
* branch main -> FETCH_HEAD
$ git log main..HEAD --oneline
abc1234 feat: ログイン機能を追加
def5678 docs: READMEを更新
# 2. マージ実行
$ GIT_ACTIONS_ALLOW_PROTECTED_BRANCH=1 git checkout main
Switched to branch 'main'
$ git pull origin main
Already up to date.
$ git merge feature/add-login --no-ff -m "..."
Merge made by the 'ort' strategy.
src/login.ts | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
README.md | 5 +++++
2 files changed, 55 insertions(+)
create mode 100644 src/login.ts
$ GIT_ACTIONS_ALLOW_PROTECTED_BRANCH=1 git push origin main
To github.com:user/repo.git
xyz9876..abc1234 main -> main
# 3. 後処理
$ git checkout feature/add-login
Switched to branch 'feature/add-login'
⚠ マージ中にコンフリクトが発生しました。
git-resolve-conflicts スキルでコンフリクト解消を実行します。
[コンフリクト分析・解消案生成・ユーザー確認・適用の流れを実行]
✅ コンフリクト解消完了
マージコミットの作成に進みます。
npx claudepluginhub biwakonbu/cc-plugins --plugin git-actionsMerges a source branch into the current working branch with preflight checks, conflict handling, optional session documentation, and targeted validation.
Guides Git branch management and GitHub PR workflows using main-branch development, modern git switch/restore commands, and MCP tools for creating, listing, and updating PRs.
Merges current branch into a target branch, pushes if remote exists, then returns to original branch. Useful for syncing work branches without staying on target.