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

Радар коллег

Вы редактируете api.ts. И кто-то ещё — в ветке, в которую вы не заглядывали. Обычный способ узнать об этом — конфликт слияния на следующей неделе; способ радара — список, уже сегодня.

Всё вычисляется по вашему последнему фетчу — remote-tracking ссылки, merge-tree в памяти, ничего больше. Никакого сервера, никакого агента на машинах коллег, никакой сети сверх фетча, который вы и так делали.

Радар коллег

Что говорит строка

Для каждой удалённой ветки, где есть коммиты, которых нет в вашем HEAD:

Колонка Что означает
Кто и когда Последний коммитивший в этой ветке и как давно
Коммиты / файлы Сколько входящего и скольких файлов оно касается
Пересечение Какие из этих файлов изменены в вашем рабочем дереве прямо сейчас — красная метка
Риск Даст ли слияние этой ветки в HEAD конфликт (тот же движок, что и в радаре конфликтов)

Строки отсортированы по тому, насколько сильно они сталкиваются с вами: сначала пересечение, затем предсказанные конфликты, затем свежесть. Разверните строку, чтобы увидеть точные списки файлов; Сравнить открывает полное сравнение веток.

Когда он подаёт голос

После каждого фетча — ручного или автоматического — радар молча сканирует. Он показывает тост только тогда, когда коммиты из апстрима касаются файлов, которые вы изменили, и этот набор действительно поменялся с прошлого скана. Нет изменённых файлов — нет шума: чистое рабочее дерево ни с чем столкнуться не может.

Ограничения

  • Он видит то, что видел последний фетч. Коллега, который не запушил, невидим — радар читает ссылки, а не мысли.
  • Пересечение работает на уровне путей, а не строк: касание одного и того же файла — это предупреждение, а не доказательство конфликта. Колонка Риск отвечает на уровне строк, но только между закоммиченными состояниями.
  • Ветки, простоявшие без движения больше ~45 дней, пропускаются, и сканируются только 30 самых недавно сдвинутых.

См. также: Радар конфликтов · Фетч, пул и пуш · Что изменилось с тех пор

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