Перебазировать рабочий процесс с помощью запросов на извлечение в облаке bitbucket - PullRequest
2 голосов
/ 02 мая 2020

Я создал две ветви в облаке bitbucket и создал два pull-запроса для каждой из двух ветвей. Стратегия слияния запросов на извлечение установлена ​​на «фиксацию слияния». Дерево коммитов выглядит следующим образом после объединения запросов извлечения:

enter image description here

Это стратегии слияния: enter image description here Как Можно ли избежать этого сценария на облаке Bitbucket? Какой смысл в перебазировании, если ветка может посмотреть это или это исключение?

1 Ответ

2 голосов
/ 04 мая 2020

BitBucket имеет свои собственные стратегии слияния для запросов извлечения , включая:

Перебазирование, ускоренная перемотка вперед (rebase + merge --ff-only):

Выполняет фиксацию из исходной ветви в целевую ветвь, создавая новый коммит без слияния для каждого входящего коммита.
Быстрая перемотка вперед целевой ветки с полученными коммитами. Эта операция PR не модифицируется этой операцией.

И:

Только перемотка вперед (--ff-only):

Если ветвь источника устарел с целевой веткой, отклонить запрос на слияние. В противном случае обновите целевую ветвь до последней фиксации в исходной ветке.

Либо можно избежать фиксации слияния и получить линейную историю.

Второй предполагает ветку PR был перебазирован локально на рабочей станции разработчика, затем push --force: слияние становится тривиальным.


OP David просит в комментариях :

Так что мне нужно перебазировать каждый второй пул-запрос локально, если два пул-запроса созданы одновременно?

Факт, что два PR создаются "одновременно" не имеет значения в этом процессе.

Один из них будет объединен (без проблем, поскольку он объединяется первым)

Второй не будет объединен (отклонен, поскольку не быстрое слияние)

У разработчика не будет другого выбора, кроме как:

  • тянуть мастера, чтобы обновить его с измененной мачтой (здесь первый объединенный PR)
  • перебазировать второй пиар локально поверх мачты э-э (разрешение конфликта локально, убедившись, что он все еще работает)
  • принудительное нажатие
  • слияние второго PR через Интернет GUI (слияние ускоренное, оно будет принято )

Этот процесс, включающий местное примирение, является обычной передовой практикой.

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