Подтвердить что ты не робот

Почему Dont Commit следует за ошибкой слияния?

Наш процесс для git является периодическим слиянием вплоть до нашей основной ветки, так что изменения могут быть объединены обратно в наши последние ветки функций. Поскольку последние раунды сливаются из одной ветки в другую, мы сталкиваемся с проблемой, в которой решение не ясно.

У нас есть репозиторий, в котором есть 19 подмодулей. Когда мы делаем слияние всех подмодулей, мы видим, что мы считаем ожидаемой продукцией, сообщающей нам изменяемые файлы, конфликты и т.д. Затем, когда мы доходим до слияния "корневого" репозитория, все идет на юг, и мы видим некоторые следующего выхода (отредактировано, чтобы указать только на проблемы).

warning: Failed to merge submodule projects/foo1 (commits don't follow merge-base)
warning: Failed to merge submodule projects/foo2 (commits don't follow merge-base)
warning: Failed to merge submodule projects/foo3 (not fast-forward)

Found a possible merge resolution for the submodule:
 931a61165f3b2079523a122477fa5f44c123406d: Comment of last merge

If this is correct simply add it to the index for example by using:

 git update-index --cacheinfo 160000 931a61165f3b2079523a122477fa5f44c123406d "projects/foo3"

which will accept this suggestion.

Теперь мы можем запустить предлагаемую команду git update-index. Это сделает git счастливым для этого одного подмодуля, но нам никогда не приходилось запускать это раньше. Проблема действительно плоха, если смотреть на подмодули foo1 и foo2, в которых не отображается помощь.

4b9b3361

Ответ 1

В случае, если комментарий ОП ниже его вопроса исчезает:

Для тех, кто просматривает этот пост, хотя я не был на 100% уверен, что произошло, я считаю, что это произошло из-за пользователя, который вручную удалил файлы GIT_MERGE из своего корневого репозитория и нажал. Ручным слиянием каждого подмодуля, нажатием изменений, а затем в корневом подмодуле, выполняющемся

git commit -i -m "blah" .

Мы решили устранить проблему. Git никогда не утверждал, что нам нужно было зафиксировать в корневом подмодуле, но, похоже, нам это нужно. Кажется, что последующие слияния работают корректно.