Я бы хотел, чтобы базовая ветвь всегда не имела эффекта перемотки вперед (всегда создает фиксацию слияния). Основываясь на следующих настройках Bitbucket, используемых моей командой, кажется, что иногда необходимо создать 2 коммита слияния для разрешения конфликта.
Настройки ветки сервера Bitbucket
Изменения без запроса на вытягивание — предотвращает отправку изменений непосредственно в указанную(ые) ветку(и); изменения разрешены только с запросом на вытягивание. Разрешения ветки
Коммит слияния (--no-ff) Всегда создавайте новый коммит слияния и обновляйте целевую ветвь до него, даже если исходная ветвь уже соответствует целевой ветке. Стратегия слияния по умолчанию
Так как базовая ветвь может быть изменена только с помощью пулл-реквестов, и она всегда создает фиксацию слияния при PR-слиянии, поэтому кажется, что пулл-реквесты, требующие ручного разрешения конфликтов, должны будут иметь 2 коммита.
Пример проблемного сценария:
Вот сценарий: базовая ветвь объединяется с функциональной ветвью, чтобы вручную разрешить конфликт, в этом случае разрешенные вручную конфликты приводят к фиксации слияния. Затем, после нажатия фиксации конфликта-слияния, PR будет обновлен и готов к слиянию, а после слияния с базой он создаст еще одну фиксацию слияния (из-за опции no-ff). Технически нужен был только 1 из этих 2 коммитов. Когда это делается непосредственно в git (без запроса на извлечение и без заблокированной ветки), этого можно было бы добиться с помощью no-ff путем слияния непосредственно с базовой веткой.
Есть ли что-то, что мне здесь не хватает? Есть ли способ добиться ровно 1 фиксации слияния с использованием ограничений запросов на вытягивание Bitbucket Server?