关于 resolving-merge-conflicts
resolving-merge-conflicts 是处理 Git merge、rebase 冲突及 PR 未解决评审意见的 Skill。它强调追溯改动意图、逐项核实意见,并在修复后完成提交、推送和评审会话处理。
主要功能
- 01检查 merge 或 rebase 状态
- 02追溯冲突两侧改动意图
- 03逐 hunk 解决冲突并保留依据
- 04运行项目自动化检查
- 05逐条核实 PR 评审意见
- 06回复并解决评审会话
适用场景
- 01处理合并或变基中的文件冲突
- 02根据原始提交和 issue 判断改动取舍
- 03修复成立的 PR 评审意见
- 04记录不采纳意见的依据并关闭会话
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ouyangjiahong26/ skills --skill resolving-merge-conflicts安装后在 Claude Code 中输入/resolving-merge-conflicts确认已加载。
详细介绍
来自项目 READMEgit merge / rebase 冲突
-
看清当前状态。检查 merge / rebase 进度、git 历史、冲突文件。
-
找原始资料。深入理解每处改动为什么这么改,原始意图是什么。读 commit message,查 PR,查原始 issue / ticket。
-
逐 hunk 解决。能同时保留两边意图的,就两边都保留。不可调和时,选符合本次合并既定目标的那一边,并记下取舍。不要发明新行为。冲突永远要解决,绝不
--abort。 -
找到项目的自动化检查并逐个运行:通常先 typecheck,再测试,最后格式化。把合并弄坏的地方修好。
-
收尾 merge / rebase:暂存全部改动并提交。处于 rebase 中时,继续推进直到所有 commit 都 rebase 完。
PR 评审意见
处理 PR 上未解决的评审:自动评审 bot 或人留下的 CHANGES_REQUESTED、逐行 comment 与未解决的评审会话。
- 读全部评审结论、逐行 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 用于回复与解决,三处都要看。
-
逐条判断是否成立。评审意见(含 bot 的)不必然正确:按意见指出的文件与行号核对,必要时读它引用的材料求证。成立的修复。不成立的不改,记下依据。
-
修复成立的意见,只动意见涉及的范围。评审常分阻塞与应改两级,全部处理,不只处理阻塞项。
-
push 分支,让回复里的提交 SHA 指向已推送的修订。
-
每条评审会话都回复:采纳的写修复结果与提交 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,语言跟正文一致。
- 回复后用
resolveReviewThread解决会话,逐条确认isResolved为 true。push 会让旧会话变为 outdated,outdated 不等于已解决。
gh api graphql -f threadId=<threadId> -f query='mutation($threadId:ID!){resolveReviewThread(input:{threadId:$threadId}){thread{id isResolved}}}'
- 自动评审 bot 会重新评审,复审仍提意见时重复本节流程。复审产生的新会话同样回复并 resolve。复审通过或用户确认解决后,合并走
/merge-pr。