关于 resolve-merge-conflicts
用于解决 Git 合并冲突的技能,采用逐文件处理的精简流程。它通过辅助脚本汇总冲突上下文、指导解决,并在验证前检查结果是否干净。
主要功能
- 01汇总未解决的冲突文件
- 02查看单个文件的冲突上下文
- 03选择一方或编辑冲突内容
- 04复查冲突标记和未解决路径
- 05验证并暂存解决结果
适用场景
- 01无需打开整个文件即可查看冲突
- 02逐个文件解决合并冲突
- 03测试前确认冲突解决结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ warpdotdev/ common-skills --skill resolve-merge-conflicts安装后在 Claude Code 中输入/resolve-merge-conflicts确认已加载。
附带文件scripts/extract_conflict_context.py
详细介绍
解决合并冲突
概述
无需打开完整文件即可解决冲突,除非精简视图不足以判断。先查看摘要,然后一次检查一个有冲突的文件。
工作流
- 先查看摘要。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
利用摘要确定哪些文件尚未解决、存在哪些索引阶段,以及每个文件包含多少个文本区块。
- 深入检查一个文件。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file
优先使用此方式,而不是读取整个文件。脚本只会输出附近的上下文、每个区块的 ours / base / theirs 部分,以及 ours 和 theirs 之间精简的统一差异。
- 解决文件中的冲突。
- 适当时,使用
git checkout --ours -- path/to/file或git checkout --theirs -- path/to/file,直接采用其中一方的完整内容。 - 否则直接编辑文件并移除冲突标记。
- 只有在精简输出不足以判断正确的合并结果时,才阅读更多文件内容。
- 重新检查尚未解决的文件。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
git diff --name-only --diff-filter=U
- 验证解决结果。
- 确保没有未合并的路径。
- 确保已解决的文件中不再有
<<<<<<<、=======或>>>>>>>标记。 - 对涉及的部分运行针对性测试、构建或代码检查工具。
- 暂存已解决的文件。
命令
仅查看摘要
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
查看单个文件的详细信息
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file
查看所有有冲突文件的详细信息
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --all
JSON 输出
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file --json
调整输出大小
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py \
--file path/to/file \
--context 3 \
--max-lines 60
说明
- 直接打开有冲突的文件之前,请先使用脚本。
- 一次解决一个文件,以控制上下文大小。
- 预期会遇到基于标记的文本冲突,以及 add/add 或 modify/delete 等仅发生于索引的冲突。脚本会汇总两种冲突;如果工作区文件中没有冲突标记,则会回退到索引阶段预览。
评论
支持 Markdown