Почему git merge squash Xtheirs не предпочитает, а объединяет? - PullRequest
1 голос
/ 11 марта 2019

Требуются некоторые пояснения, почему моя проблема появляется.

В общем, у меня есть 3 файла, которые должны перезаписываться каждый раз, когда делается новая фиксация в master, и версия ветки разработки, как предполагается, предпочтительнее.Проблема заключается в том, что я делаю слияние --squash --Xtheirs, которое должно всегда отдавать предпочтение версии ветки разработки, но для одного из файлов иногда выполняется простое слияние, и это портит код в файле.

Одна из причин, по которой я мог бы подумать, состоит в том, что в один и тот же день были созданы две ветви разработки, основанные на одном и том же мастере, и они были объединены в один и тот же день, но git выполняет простое слияние?

Ситуация выглядит следующим образом: ветки dev1 и dev2 основаны на одной и той же версии master, и обе имеют новую разработку в качестве новой фиксации.Никаких конфликтов, кроме этих 3 файлов.Время фиксации dev1 - 10:00, а время фиксации dev2 - 11:00.Далее происходит слияние их с мастером.Dev2 объединяется первым.Все выглядит хорошо.Затем выполняется слияние dev1, и один из этих трех файлов, которые должны быть перезаписаны, получает часть кода dev2 и dev1 и поврежден.

Я проверил, что если бы я слил их с мастером в том же порядке, что и при фиксациитогда файл в порядке.Но, наоборот, второй файл слияния поврежден.Как-то странно слились.

Можно ли как-то избежать этого?

...