Значение Github Ahead/Behind Metrics

На простом языке (надеюсь, с простым примером), что означают показатели впереди/позади на ветке репо Github?

И каковы последствия для этой отрасли и внимание, которое она получает? Является ли "позади" плохим знаком для ветки?

Ответ 1

Ahead - это количество коммитов на этой ветке, которые не существуют в базовой ветки. Позади - количество коммитов на базовой ветки, которых нет в этой ветке.

Впереди и сзади почти что-то вроде "возраста" метрики. Переднее число говорит вам примерно о том, какое влияние оказывает отрасль на базовую ветвь, если она будет объединена. Задействующий номер сообщает вам, сколько работы произошло на базовой ветке, поскольку эта ветка была запущена.

Я считаю, что запасной номер действительно полезен для того, чтобы судить о том, может ли ветвь слияния быть чистой. Когда на базовой ветке произошла большая работа, более вероятно, что две ветки изменили одну и ту же строку (строки). Когда позади большое, это признак того, что вы должны, вероятно, объединить базовую ветку в эту ветвь для синхронизации. Как только вы объедините базовую ветвь в эту ветку, позади будет 0.

Ответ 2

Если вы похожи на визуальный тип, посмотрите здесь:

◈ - ◈ - A - ◈ - B
      \
        ◈ - C

A - 2 фиксации позади, а 0 - впереди B
B - 0, а 2 - впереди A
C - 1 фиксация, а 2 - впереди A
C - 3 фиксации сзади и 2 - перед B

Итак, "позади" означает, что другая ветвь совершает это, а "впереди" означает, что эта ветвь совершает другую, не делает.

Ответ 3

Метрики, подобные тем, которые вы можете увидеть для этот проект, описывают сравнение с веткой из репо (например, master)

  • количество новых коммитов, которые было выполнено репо GitHub по сравнению с другой ветвью другого репо: это теги позади: другое репо отстает по сравнению с текущим репо (см. те коммиты).
  • количество новых транзакций совершает другую ветвь другого репо по сравнению с текущим репо: те впереди совершают: другое репо впереди по сравнению с текущим репо (см. те коммиты).

Техническая деталь иллюстрируется script ", определяющей, какие репозитории впереди/позади" :
Речь идет о проверке:

  • то, что совершает, доступно из другой ветки, но не из локальной ветки: впереди git rev-list "$localref..$anotherref"
  • то, что совершает, доступно из локальной ветки, но не из другой ветки: позади git rev-list "$anotherref..$localref"

Ответ 4

В то же время следует отметить, что github "позади" также учитывает слияние. Вы можете проверить "позади" вещи: git log mybranch1 ^ mybranch2, и он должен показать вам то же количество коммитов. Если у вас есть слияния, вы можете исключить их из -no-merges в последней команде.