mcpField
R
resolve-merge-conflicts

resolve-merge-conflicts

github.com/warpdotdev开发63628.6k 次安装1 周前更新
代码仓库

关于 resolve-merge-conflicts

用于解决 Git 合并冲突的技能,采用逐文件处理的精简流程。它通过辅助脚本汇总冲突上下文、指导解决,并在验证前检查结果是否干净。

主要功能

  1. 01汇总未解决的冲突文件
  2. 02查看单个文件的冲突上下文
  3. 03选择一方或编辑冲突内容
  4. 04复查冲突标记和未解决路径
  5. 05验证并暂存解决结果

适用场景

  1. 01无需打开整个文件即可查看冲突
  2. 02逐个文件解决合并冲突
  3. 03测试前确认冲突解决结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/warpdotdev/common-skills --skill resolve-merge-conflicts

安装后在 Claude Code 中输入/resolve-merge-conflicts确认已加载。

附带文件scripts/extract_conflict_context.py

详细介绍

解决合并冲突

概述

无需打开完整文件即可解决冲突,除非精简视图不足以判断。先查看摘要,然后一次检查一个有冲突的文件。

工作流

  1. 先查看摘要。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py

利用摘要确定哪些文件尚未解决、存在哪些索引阶段,以及每个文件包含多少个文本区块。

  1. 深入检查一个文件。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py --file path/to/file

优先使用此方式,而不是读取整个文件。脚本只会输出附近的上下文、每个区块的 ours / base / theirs 部分,以及 ours 和 theirs 之间精简的统一差异。

  1. 解决文件中的冲突。
  • 适当时,使用 git checkout --ours -- path/to/file 或 git checkout --theirs -- path/to/file,直接采用其中一方的完整内容。
  • 否则直接编辑文件并移除冲突标记。
  • 只有在精简输出不足以判断正确的合并结果时,才阅读更多文件内容。
  1. 重新检查尚未解决的文件。
python3 .agents/skills/resolve-merge-conflicts/scripts/extract_conflict_context.py
git diff --name-only --diff-filter=U
  1. 验证解决结果。
  • 确保没有未合并的路径。
  • 确保已解决的文件中不再有 <<<<<<<、======= 或 >>>>>>> 标记。
  • 对涉及的部分运行针对性测试、构建或代码检查工具。
  • 暂存已解决的文件。

命令

仅查看摘要
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