mcpField
M
merge

merge

github.com/raine開発3.0k62 回インストール今日更新
リポジトリ

merge について

現在のブランチの変更をコミットし、ローカルのベースブランチへリベースしてから workmux でマージするスキルです。オプションでクリーンアップや検証を制御できます。

主な機能

  1. 01作業ツリーの変更をすべてコミット
  2. 02設定済みのローカルベースへリベース
  3. 03workmux によるマージ
  4. 04保持・検証省略フラグに対応

活用シーン

  1. 01完了した機能ブランチの仕上げ
  2. 02マージ後もワークツリーを保持
  3. 03必要に応じたマージ検証の省略

インストール

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

$npx skills add https://github.com/raine/workmux --skill merge

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

詳細

引数: $ARGUMENTS

引数に含まれるフラグを確認します。

  • --keep、-k → workmux merge に --keep を渡します(マージ後もワークツリーと tmux ウィンドウを保持します)
  • --no-verify、-n → workmux merge に --no-verify を渡します

引数からすべてのフラグを取り除きます。

現在のブランチをコミットし、リベースして、マージします。

このコマンドは、次の手順で現在のブランチの作業を完了します。

  1. 未コミットの変更をすべてコミットする
  2. ベースブランチにリベースする
  3. workmux merge を実行してマージし、後片付けを行う

ステップ 1:コミット

git status --porcelain で、ステージ済み、未ステージ、未追跡の変更を確認します。 変更がある場合は、git add -A ですべてをステージし、ステージ済みの差分を確認してからコミットします。小文字の命令形を使い、一般的なコミットプレフィックスは付けません。 作業ツリーがクリーンな場合はスキップします。

ステップ 2:リベース

git config からベースブランチを取得します。

git config --local --get "branch.$(git branch --show-current).workmux-base"

ベースブランチが設定されていない場合は、「main」をデフォルトとして使用します。

ローカルのベースブランチにリベースします(先に origin からフェッチしてはいけません)。

git rebase <base-branch>

重要:git fetch は実行しないでください。origin/<branch> にリベースしないでください。ローカルのブランチ名にのみリベースしてください(例:git rebase origin/main ではなく、git rebase main)。

競合が発生した場合:

  • 競合の解決に着手する前に、ベースブランチで各競合ファイルにどのような変更が加えられたかを確認します
  • 競合しているファイルごとに、git log -p -n 3 <base-branch> -- <file> を実行し、ベースブランチにおけるそのファイルの最近の変更を確認します
  • 目的は、ベースブランチの変更と自分のブランチの変更の両方を保持することです
  • 各競合を解決した後、ファイルをステージして git rebase --continue を実行します
  • 競合が複雑すぎる場合や、内容が不明確な場合は、作業を進める前に指示を求めます

ステップ 3:マージ

次を実行します:workmux merge --rebase --notification [--keep] [--no-verify]

引数に --keep フラグが渡された場合にのみ、--keep を含めます。 引数に --no-verify フラグが渡された場合にのみ、--no-verify を含めます。

これにより、ブランチがベースブランチにマージされ、ワークツリーと tmux ウィンドウが後片付けされます(--keep を使用した場合を除く)。

コメント