Разрешение конфликтов
Опции merge, предсказание конфликтов и двухколоночный редактор с авто-переходом
Разрешатель конфликтов GitBor — двухколоночный редактор поверх стандартных маркеров конфликтов Git. Он открывается автоматически, когда merge или rebase упирается в конфликт.
Начало merge
Правый клик по ветке в сайдбаре → Merge into current. Диалог предлагает:
| Опция | Что делает |
|---|---|
| Default | Обычный merge — fast-forward, когда возможно. |
| No Fast-Forward | Всегда создавать merge-коммит, даже когда хватило бы fast-forward. |
| Squash | Положить изменения в индекс без коммита — один общий коммит делаете сами. |
| Don't Commit | Применить merge, но не коммитить — для последних правок перед коммитом. |
Перед merge GitBor делает «сухой прогон» и перечисляет файлы, которые вероятно будут конфликтовать, — чтобы решить, мёржить сейчас или сперва сделать rebase на свежую версию.
Merge в процессе
Если merge даёт конфликты, сверху окна появляется баннер с кнопкой Abort (с подтверждением — полностью отменяет merge и восстанавливает состояние до него). Тот же паттерн баннера используется для идущих cherry-pick, revert и rebase. Конфликтные файлы помечены (!) в Local Changes, и GitBor автоматически выбирает первый и открывает редактор.
Редактор merge
Двухколоночный редактор:
| Панель | Что внутри |
|---|---|
| Ours (слева) | Версия из вашей текущей ветки. |
| Theirs (справа) | Версия из ветки, которую вы вливаете. |
Под панелями — буфер результата — то, что реально запишется в файл.
Способы разрешить каждый блок:
- Клик по блоку конфликта в Ours или Theirs — скопировать его в результат.
- Accept Ours / Accept Theirs, или Both (Ours first) / Both (Theirs first) — объединить.
- Accept All Ours / Accept All Theirs — взять одну сторону для всего файла.
- Править буфер результата напрямую — для своего сочетания.
Счётчик показывает прогресс («2/5 conflicts resolved»). Кнопка Save & Resolve активируется, когда маркеров конфликта не осталось. После разрешения GitBor пишет файл, ставит его в индекс (git add) и автоматически открывает следующий конфликтный файл.
Понять конфликт с помощью AI
В тулбаре редактора есть кнопка Explain conflict. Она ничего не разрешает — она объясняет: что изменила каждая сторона и что учесть перед выбором. См. AI-помощники.
Завершение merge
Когда все конфликтные файлы разрешены и поставлены в индекс, GitBor предложит завершить обычным коммитом с сообщением по умолчанию (Merge branch 'X'). Сообщение можно отредактировать перед подтверждением.