Как добиться успеха слияния при наличии конфликтов

Мы следуем подходу ветки шаблона, при котором новая ветка функций создается из пустой (только папка) ветки шаблона (используется для информационного кода, поскольку мы не хотим, чтобы вся база кода развертывалась).

Проблема в том, что когда мы пытаемся объединить выпуск (с изменениями для текущего выпуска) с основной веткой (всей кодовой базой), мы всегда оказываемся в конфликте слияния для существующих файлов. В случае конфликта слияния я бы хотел, чтобы изменения в ветке выпуска были объединены с веткой master, так как я хочу, чтобы последние изменения были сохранены.

Есть ли возможность принудительно объединить изменения в ветке выпуска с мастером без разрешения конфликтов?


person Rahul Raj    schedule 12.09.2020    source источник
comment
Отвечает ли это на ваш вопрос? Конфликт слияния Git, чтобы всегда использовать самый новый файл   -  person SwissCodeMen    schedule 13.09.2020


Ответы (1)


  1. мастер проверки git
  2. git merge -X их релиз
person Adam Tang    schedule 12.09.2020
comment
Будьте осторожны: -X theirs означает принять их изменение в случае конфликта, а не их файл в таком случае. - person torek; 13.09.2020
comment
Я не рекомендую -X their, Когда случаются конфликты, это означает, что оба изменяются в одном и том же блок-коде, вы не знаете, какой из них обновляется или нужно комбинировать оба. Есть много полезных инструментов, помогающих разрешить конфликт. Вы должны улучшить рабочий процесс, чтобы избежать конфликтов во время слияния - person Toàn Nguyễn Hải; 13.09.2020
comment
Спасибо Адам, Торек и Тоан за ваш ответ! В соответствии с настройками администратора мы не можем напрямую отправлять ветки выпуска или мастера, и эти две ветки можно изменить только с помощью запросов на вытягивание. По мере того, как код ветки выпуска перемещается в производство, таким образом, нам не нужно беспокоиться, если файл будет принудительно объединен с мастером (перезаписывая конфликтующие изменения в ветке выпуска в мастер). Каковы ограничения, если я скопирую основную ветку в функцию, а затем принудительно объедини мои изменения в ветке выпуска в Feature (согласно командам Адама). Затем я могу создать PR, чтобы объединить функцию, чтобы снова освоить. - person Rahul Raj; 13.09.2020
comment
Привет, Адам, когда я пытаюсь объединить ветку выпуска с функцией с помощью приведенной ниже команды, я получаю сообщение об ошибке слияния: «выпуск-br» - не то, что мы можем объединить git checkout ‹feature-BR› git merge -X itss ‹Release› Я попробовал следующую команду, но то же сообщение об ошибке git merge -s recursive -X itss ‹Release› Пожалуйста, предложите. - person Rahul Raj; 22.09.2020
comment
Во-первых, проверьте, нет ли опечатки в ‹Release›. В противном случае попробуйте git checkout <Release> && git pull git checkout <feature-BR> && git pull git merge -X theirs <Release> Это гарантирует, что вы хорошо знаете обе ветки, прежде чем объединять их. Еще раз, будьте осторожны при использовании их -X. Вы хотите знать, что вы делаете. - person Adam Tang; 23.09.2020