Запрос на вытягивание показывает старые коммиты после перебазирования / слияния в другую ветку в azure DevOps - PullRequest
0 голосов
/ 07 августа 2020

Мы пытаемся адаптировать Skullcandy git поток - ссылка

Вкратце поток:

  1. Ветвь функции переименована из главной
  2. После завершения работы над функцией код перебазируется / объединяется с веткой QA, где он может быть дополнительно протестирован при необходимости (здесь создается запрос на вытягивание и выполняется проверка кода)
  3. После завершения тестов мы перебазировать / объединить функциональную ветку для управления с помощью другого запроса на вытягивание

Теперь у нас есть проблемы как с слиянием, так и с перебазированием при использовании этого подхода.

Подход с перебазированием:

  1. Мы создаем PR для QA и мастер (1 дополнительная фиксация)
  2. Мы завершаем PR в QA, используя перебазирование вперед
  3. После того, как PR в QA завершается внезапно PR to master может показать дополнительные коммиты, которых там раньше не было. Если бы я удалил ветку из источника и pu sh ее снова из локального репозитория и создал новый PR для управления, он снова правильно показывает 1 дополнительную фиксацию

Я не уверен, почему это происходит. Похоже, история коммитов функциональных веток почти переписана. Я также не уверен, что этот подход вообще возможен, поскольку rebase может создавать новые коммиты SHA, чтобы их можно было отображать как изменения.

Подход слияния:

  1. Мы создаем PR для QA и мастер (1 дополнительный коммит)
  2. Мы завершаем PR для QA и мастер с помощью слияния
  3. Проблема, которая возникает здесь, заключается в том, что поскольку слияние создало один дополнительный коммит слияния после того, как мы выполнить повторный переход от мастера для новой функции и создать новый PR для QA, он показывает слияние фиксации от мастера как изменение. Он также показывает все изменения, сделанные в этой фиксации слияния, на панели обзора кода, что является проблемным. ветки?

    Сводка

    Можете ли вы помочь мне понять, почему rebase ведет себя именно так?

    Есть ли какие-нибудь предложения относительно того, как мы можем улучшить наш поток?

    Мы бы предпочли только основной поток, но для этого нам потребуются автоматически сгенерированные тестовые среды для автоматических тестов, а мы еще не достигли этого:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...