Gitlab: почему «сквош» слияние создает два коммита? - PullRequest
0 голосов
/ 02 мая 2018

Чтобы воспроизвести это:

  1. Создать выпуск
  2. Открытый запрос на слияние (MR) из выпуска
  3. Внести изменения с несколькими коммитами
  4. Установите флажок "Сквош коммит" и объедините MR

С какой стати это создает ДВУХ коммитов в истории с точно такими же изменениями?

Названия коммитов:

  1. Объединить ветку '123-branch-name' в 'dev'
  2. Полное название выпуска

Какой смысл в этом?

1 Ответ

0 голосов
/ 02 мая 2018

Похоже, вы создаете один коммит, содержащий ваши изменения (коммит Full Issue name) и коммит слияния, объединяющий изменения из этого коммита в ветку dev.

Фиксация слияния обычно создается для каждого запроса на слияние. Это можно изменить в Settings -> Merge Request Settings, выбрав, например, Fast Forward Merge вместо Merge Commit. Это приведет только к одному коммиту поверх вашей текущей dev HEAD, который будет работать, только если dev может быть быстро переадресован.

Проверка squash commits уничтожит все коммиты в ветви объекта, которую вы хотите объединить до слияния. Таким образом, если в вашей ветви функций было более одного коммита, они будут объединены в один коммит, который будет объединен, создав коммит слияния, как вы описали (если параметры запроса на слияние установлены на merge commit, см. выше).

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

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