GitBorGitBor

Разрешение конфликтов

Опции 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'). Сообщение можно отредактировать перед подтверждением.