Ветки и хирургия

Радар конфликтов

Узнавать, что ветка конфликтует, путём её слияния — дорогой способ задать вопрос. Радар отвечает на него заранее.

Gitcito сливает каждую ветку с выбранной вами базой внутри базы объектов (git merge-tree --write-tree). Никакого чекаута, никаких изменений индекса, никаких изменений рабочего дерева, ничего не нужно потом убирать. Ваша незакоммиченная работа может спокойно оставаться там же, где и была, пока идёт сканирование.

Радар, по одному вердикту на ветку

Сканирование ветка за веткой, а затем открытие спорных файлов

Как пользоваться

Откройте радар из меню инструментов, через ⌘K → Радар конфликтов или щёлкните правой кнопкой по ветке, чтобы просканировать всё относительно неё.

Сканирование запускается сразу при открытии, базой берётся ваша текущая ветка.

Вердикт Что означает
Будет конфликт Слияние потребует ручной работы. Точные пути перечислены.
Сливается чисто Применится без борьбы.
Уже внутри База уже содержит эту ветку — сливать нечего.
Ошибка Git отказался: несвязанные истории, отсутствующая ссылка. Причина показана.

Ветки сортируются от худших к лучшим, и худшая из худших — та, что затрагивает больше всего файлов, — оказывается наверху.

Спорные файлы

Ниже блок Спорные файлы ранжирует пути по тому, сколько веток их переписывает. Две ветки, спорящие за один файл, — это разговор, который стоит завести прямо сейчас; пять — это уже проблема проектирования.

После сканирования

Строки веток в боковой панели получают цветную точку: красная — будет конфликт, зелёная — чисто, янтарная — ветка, по которой git отказался работать. Ветки, уже входящие в базу, точки не получают — ряд серых точек на всём, что уже слито, был бы просто шумом.

Сканирование ничего не меняет. git status остаётся чистым, и HEAD не сдвигается.

См. также: Что изменилось с тех пор · Слияние и ребейз

Улучшить этот перевод на GitHub