MR squash удаляет детали сообщения фиксации

Я работал в ветке, и в моем коммите было очень подробное сообщение. Формат был:

Title

Details (multiple lines). 

Я создал MR, но когда MR был объединен, я вижу фиксацию слияния и мою новую фиксацию только с Title. Детали исчезли. Если я сделаю git show $sha либо в $sha моей локальной ветки, либо сделаю git log в удаленной ветке, я увижу полное сообщение. Но в мастере я вижу только название. Как это может происходить? Есть ли какая-то конфигурация Gitlab, которая может быть причиной этого?

Обновление после комментария @Ôrel: Коммиты сквоша были выбраны заранее. В ветке было 2 коммита с одинаковым форматом, т.е. Заголовок/Подробное сообщение. Объединенный (сжатый) коммит имеет заголовок одного коммита (не того, который был в верхней части ветки), а детали удалены. Как выбирается сообщение коммита в таком сквош/слиянии?

Вы раздавливаете ветку при слиянии? вы можете увидеть это при создании запроса на слияние «Сквош фиксируется, когда запрос на слияние принят»

Ôrel 30.09.2022 09:06

@Ôrel: Да, я видел это предварительно выбранное

Jim 30.09.2022 09:10

@Ôrel: Это причина? На самом деле в ветке было 2 коммита. извините, я не упомянул об этом

Jim 30.09.2022 10:05

@Ôrel: Теперь я заметил, что он используется в качестве заголовка одного из двух заголовков коммитов. Заказ был A<-B<-Branch т.е. A был сверху. А в сквоше использовалось название коммита B и удалены детали из A и B. Как этот сквош должен работать?

Jim 30.09.2022 10:08

Сквош будет использовать ваш контент MR, а не ваш коммит-контент.

Ôrel 30.09.2022 10:10

@Ôrel: Что вы подразумеваете под содержанием MR? В MR был текст, но он тоже не использовался.

Jim 30.09.2022 10:11

Обратите внимание, что операция сквоша не является слиянием (называть ее "сквош-слиянием", как это делает Git, вероятно, было ошибкой). Вы по-прежнему можете свободно использовать его и настраивать по своему усмотрению, просто имейте в виду, что это не слияние. Также обратите внимание, что почти все, что связано с «запросом на слияние», специфично для GitLab (MR не являются частью базового Git).

torek 30.09.2022 15:57
Асинхронная передача данных с помощью sendBeacon в JavaScript
Асинхронная передача данных с помощью sendBeacon в JavaScript
В современных веб-приложениях отправка данных из JavaScript на стороне клиента на сервер является распространенной задачей. Одним из популярных...
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Отказ от ответственности: Эта статья предназначена только для демонстрации и не должна использоваться в качестве инвестиционного совета.
Принципы ООП в JavaScript
Принципы ООП в JavaScript
Парадигма объектно-ориентированного программирования имеет 4 основных принципа,
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Можете ли вы объяснить разницу между ngOnInit и конструктором в Angular?
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Типы ввода HTML: Лучшие практики и советы
Типы ввода HTML: Лучшие практики и советы
HTML, или HyperText Markup Language , является стандартным языком разметки, используемым для создания веб-страниц. Типы ввода HTML - это различные...
0
7
141
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По умолчанию gitlab будет использовать название запроса на слияние при фиксации сквоша.

%{title}

Вы можете добавить дополнительную информацию см. https://docs.gitlab.com/ee/user/project/merge_requests/commit_templates.html#default-template-for-squash-commits

Если вы хотите сохранить информацию от коммитов, вы можете использовать такой шаблон, как:

%{title}

%{all_commits}

Чтобы найти шаблон

  1. На верхней панели выберите Главное меню > Проекты и найдите свой проект.
  2. На левой боковой панели выберите Настройки > Мерж-реквесты.

Где должен быть этот шаблон?

Jim 30.09.2022 12:13

На верхней панели выберите Главное меню > Проекты и найдите свой проект. На левой боковой панели выберите Настройки > Мерж-реквесты.

Ôrel 30.09.2022 15:44

Другие вопросы по теме