Я думаю, что нашел проблему.Это произошло в одном простом проекте зависимости, поэтому служит хорошим примером.
Слияния, которые вообще не работают в пользовательском интерфейсе (те, которые должны решаться локально с помощью CLI) были объединены без вопроса, который я описываю.Я обновил вопрос, чтобы отразить это.
Проблема заключается в том, что GitLab выполняет автоматическую фиксацию слияния из целевой ветви в исходную ветвь * за 1008 * секунд до слияния в нужном направлении.Я проверил, что все проекты, в которых были «конфликты», имели эти плохие слиянияЭто были также проекты, которые не были объединены вручную.
$ git log --abbrev-commit --graph qa master
* commit 92xxx (tag: v1.3.1, tag: v1.3.0, origin/master, origin/HEAD, master)
|\ Merge: 83xxx 7fxxx
| | Author: Nick
| | Date: Fri Sep 7 00:52:37 2018 +0000
| |
| | Merge branch 'qa' into 'master'
| |
| | v1.3
| |
| | See merge request translations!17
| |
| * commit 7fxxx
|/ Author: Nick
| Date: Fri Sep 7 00:52:37 2018 +0000
|
| v1.3
|
| * commit c14xxx (HEAD -> qa, origin/qa)
| |\ Merge: 76xxx 83xxx
| |/ Author: Nick
|/| Date: Fri Sep 7 00:52:29 2018 +0000
| |
| | Merge branch 'master' into 'qa'
| |
| | # Conflicts:
| | # langs/en-US.json
| |
* | commit 83xxx (tag: v1.2.1, tag: v1.2.0)
|\ \ Merge: 08xxx 73xxx
| | | Author: Nick
| | | Date: Fri Aug 3 14:09:04 2018 +0000
| | |
| | | Merge branch 'qa' into 'master'
| | |
| | | Merge for v1.1.2
| | |
| | | See merge request translations!13
| | |
m qa
master
- левая строка.83xxx
слияние с последнего выпуска.master
не имеет коммитов с момента последнего выпуска, кроме этого необъяснимого неудачного слияния.
Так что это объясняет конфликты.Эти конфликты появляются сразу же после открытия запроса на слияние в пользовательском интерфейсе GitLab, поэтому я предполагаю, что создание запроса на слияние является причиной неудачного коммита слияния.Возможно, в игру вступает флажок 'squash commits' (его можно выбрать при создании запроса на слияние, а также с действием слияния уже открытого запроса на слияние).
До сих пор не знаю, почемуGitLab делает это, возможно, ошибка.В следующий раз, когда я создам запросы на слияние, которые имеют эти странные конфликты, я оставлю их открытыми, чтобы посмотреть, действительно ли он создал неверный запрос на слияние как часть процесса создания.
Обновление декабря 2018
РелизсноваЯ обратил внимание.Все еще не уверен на 100%, что происходит.Запуск запроса на слияние для проекта переводов, который имеет нулевые коммиты до master
с момента последнего слияния из qa
.
Конфликты.Осмотрел их.Не имеет никакого смысла.Не заметил никаких коммитов при обновлении репо в другой вкладке.Нажмите на кнопку «разрешить конфликты» в пользовательском интерфейсе, после завершения разрешения конфликта была создана фиксация от master-> qa.Это просто способ слияния Gitlab.Вы разрешаете конфликты, втягивая мастера в QA, а затем сливаетесь обратно.Это буквально говорит об этом на странице разрешения конфликтов пользовательского интерфейса ?
Или что-то в этом роде.Сводит меня с ума, но у меня нет времени на шутки в день выпуска.