Будет ли Github считать вклады из веток, объединенных с помощью -no-ff merge (не ускоренная перемотка вперед)?
Github статья о проблемах со взносами не имеет слов о --no-ff
сливается.
Я нашел несколько ответов в этой ветке reddit, но процесс все еще неясен для меня.
РЕДАКТИРОВАТЬ: Например, я сделал несколько коммитов в ветви функций, затем я слил эту ветку с главной веткой. Будет ли Github считать все коммиты из функциональной ветви в моем профиле или только коммит слияния?
1 ответ
Сначала подумайте о том, что обратное --no-ff
означает: что вы делаете слияние ускоренной перемотки.
Теперь, что такое ускоренное слияние? По сути это означает, что вы просто перемещаете указатель ветки, фактически не создавая коммитов. Так как фиксации - это то, что записывает вклады (поскольку они содержат информацию об авторе / коммиттере), ускоренная пересылка, очевидно, не приведет к видимому вкладу фиксации в репозиторий.
Распространенные решения для размещения репозитория отслеживают добавления в репозиторий, поэтому ваш обновленный пуш в ветке может быть записан как вклад, но обычно этого не делается, поскольку он не может быть записан в самом репозитории.
Таким образом, при рассмотрении слияний без ускоренной пересылки именно здесь вы фактически создаете коммит слияния, который объединяет две (или более) расходящиеся ветви. Коммит слияния, будучи просто нормальным коммитом, будет правильно записывать информацию о коммиттере и авторе, так что это может считаться вкладом.
Итак, теперь давайте посмотрим, что GitHub пишет о том, что считается вкладом:
Коммиты появятся на вашем графике вкладов, если они удовлетворяют всем следующим условиям:
- Адрес электронной почты, используемый для коммитов, связан с вашей учетной записью GitHub.
- Коммиты были сделаны в отдельном репозитории, а не в форке.
- Коммиты были сделаны:
- В стандартной ветке хранилища (обычно
master
)- в
gh-pages
ветка (для репозиториев с сайтами Project Pages)
Условие 1 обрабатывается вашей локальной конфигурацией Git и настройкой учетной записи GitHub. 2 не требует пояснений, а 3, по сути, требует, чтобы коммит слился в ветке по умолчанию. Если вы объединяетесь с мастером, это будет работать.
Кроме того, должно быть верно хотя бы одно из следующего:
- Вы являетесь сотрудником хранилища или являетесь членом организации, которой принадлежит хранилище.
- Вы разветвили хранилище.
- Вы открыли пулл-запрос или проблему в репозитории.
- Вы пометили хранилище.
Один из них также должен быть гарантирован, если у вас есть какой-то принудительный доступ к хранилищу (либо напрямую, либо как часть запроса извлечения).
Так что да, коммит слияния должен учитываться как вклад.