merge-resolve
Installation
SKILL.md
merge-resolve — разрешение конфликтов git
Зачем план до правок
Разрешение конфликта молча теряет логику. Обе стороны могли независимо менять один и тот же код: одна сторона рефакторила, другая чинила баг — и если выбрать сторону не глядя, второе изменение исчезает. Именно так теряются патчи после мержа. Поэтому порядок жёсткий: сначала понять намерение коммитов обеих сторон → потом план → потом правки → потом верификация. Не резолвить «по маркерам на глаз».
Правила репозитория (CLAUDE.md): не делай git add / git commit — оставь пользователю. Не запускай build. Верификация — через lint/type-check.
Шаг 0 — определить тип операции
Смысл ours/theirs зависит от операции, и тут легко выбрать не ту сторону:
| Операция | ours (:2) |
theirs (:3) |
|---|---|---|
| merge | HEAD — твоя ветка | вливаемая ветка (MERGE_HEAD) |
| rebase | ветка-цель (на что базируешься) | твой коммит — ИНВЕРТИРОВАНО |
| cherry-pick | текущая ветка | переносимый коммит |
| stash pop | текущее состояние ветки | содержимое из stash |