mcpField
R
resolving-merge-conflicts

resolving-merge-conflicts

github.com/ouyangjiahong26開発86 回インストール
リポジトリ

resolving-merge-conflicts について

resolving-merge-conflicts は、Git の merge・rebase の競合と、未解決の PR レビュー指摘に対応するスキルです。変更の意図を調べ、指摘を個別に検証し、テスト、コミット、push、レビュー会話の解決まで導きます。

主な機能

  1. 01merge または rebase 状態の確認
  2. 02競合する変更の意図の追跡
  3. 03判断根拠を残した hunk 単位の解消
  4. 04プロジェクトの自動チェック実行
  5. 05PR レビュー指摘の個別検証
  6. 06レビュー会話への返信と解決

活用シーン

  1. 01merge や rebase 中のファイル競合の解消
  2. 02元のコミットや issue に基づく変更の選択
  3. 03妥当な PR レビュー指摘の修正
  4. 04採用しない指摘の根拠記録と会話の解決

インストール

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

$npx skills add https://github.com/ouyangjiahong26/skills --skill resolving-merge-conflicts

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

詳細

プロジェクトの README より

git merge / rebase 冲突

  1. 看清当前状态。检查 merge / rebase 进度、git 历史、冲突文件。

  2. 找原始资料。深入理解每处改动为什么这么改,原始意图是什么。读 commit message,查 PR,查原始 issue / ticket。

  3. 逐 hunk 解决。能同时保留两边意图的,就两边都保留。不可调和时,选符合本次合并既定目标的那一边,并记下取舍。不要发明新行为。冲突永远要解决,绝不 --abort。

  4. 找到项目的自动化检查并逐个运行:通常先 typecheck,再测试,最后格式化。把合并弄坏的地方修好。

  5. 收尾 merge / rebase:暂存全部改动并提交。处于 rebase 中时,继续推进直到所有 commit 都 rebase 完。

PR 评审意见

处理 PR 上未解决的评审:自动评审 bot 或人留下的 CHANGES_REQUESTED、逐行 comment 与未解决的评审会话。

  1. 读全部评审结论、逐行 comment 与评审会话:
gh api /repos/<owner>/<repo>/pulls/<PR号>/reviews --jq '.[] | {user: .user.login, state: .state, body: .body}'
gh api /repos/<owner>/<repo>/pulls/<PR号>/comments --jq '.[] | {id, user: .user.login, path: .path, line: .line, body: .body}'
gh api graphql -f query='query { repository(owner:"<owner>", name:"<repo>") { pullRequest(number:<PR号>) { reviewThreads(first:100) { nodes { id isResolved isOutdated path line comments(first:20){ nodes { id author{login} body } } } } } } }'

<owner>/<repo> 由 gh repo view --json nameWithOwner --jq .nameWithOwner 取。评审正文是汇总,逐行 comment 是细节,会话 ID 用于回复与解决,三处都要看。

  1. 逐条判断是否成立。评审意见(含 bot 的)不必然正确:按意见指出的文件与行号核对,必要时读它引用的材料求证。成立的修复。不成立的不改,记下依据。

  2. 修复成立的意见,只动意见涉及的范围。评审常分阻塞与应改两级,全部处理,不只处理阻塞项。

  3. push 分支,让回复里的提交 SHA 指向已推送的修订。

  4. 每条评审会话都回复:采纳的写修复结果与提交 SHA,不采纳的写依据。回复用:

gh api --method POST /repos/<owner>/<repo>/pulls/<PR号>/comments/<commentId>/replies -f body="<回复正文>"

AI 贡献标记按目标仓库的约定,位置与格式照该仓库的 docs/agents/ai-contribution.md 或 docs/agents/issue-tracker.md,语言跟正文一致。

  1. 回复后用 resolveReviewThread 解决会话,逐条确认 isResolved 为 true。push 会让旧会话变为 outdated,outdated 不等于已解决。
gh api graphql -f threadId=<threadId> -f query='mutation($threadId:ID!){resolveReviewThread(input:{threadId:$threadId}){thread{id isResolved}}}'
  1. 自动评审 bot 会重新评审,复审仍提意见时重复本节流程。复审产生的新会话同样回复并 resolve。复审通过或用户确认解决后,合并走 /merge-pr。

コメント