intermediate
Разрешение конфликтов
Разрешайте текстовые и семантические конфликты с локальной проверкой и пониманием intent обеих веток.
Разрешение конфликтов — семантическая работа, не только `ours` или `theirs`. Поймите intent обеих веток, уберите текстовые маркеры, проверьте взаимодействия, перегенерируйте артефакты source of truth и проверьте тестами.
git merge origin/main
# правка файлов, удаление <<<<<<<
git add path/to/file.ts
git commit
| Тип конфликта | Типичный подход | |---------------|-----------------| | Исходный код | Логика с учётом обоих intent | | Lockfile | Перегенерация менеджером пакетов | | Generated code | Повторный запуск генератора | | Переименования | `git mv`, проверка импортов |
На интервью: конфликты lockfile, параллельные изменения API, когда звать автора второй ветки, конфликты при merge vs rebase.
Типовые ошибки: слепой выбор одной стороны; ручное редактирование `package-lock.json`; merge без тестов.
Компромисс — скорость (взять одну сторону) против корректности (собрать общий intent).
Чеклист:
- Intent обеих веток до правок.
- Перегенерация lockfile и codegen.
- Фокусные тесты после resolution.
- Неясную семантику — к авторам.