Я и мои коллеги работаем над отдельными функциями, и когда мы закончим, мы переходим к разработке, прежде чем делать запрос на извлечение.
Когда мы достигаем стабильной версии разработки, мы обрабатываем, чтобы превратить PR из разработки вмастер;Беда в том, что иногда мы получаем конфликты, хотя master обновляется только после разработки.
Как генерируются эти конфликты?Как возможно, чтобы какой-то Pr от разработки к мастеру имел 2 родителей?
Это граф мерзавца текущей ситуации: график главной ветки
ОБНОВЛЕНИЕ
Я почти уверен, что конфликт генерируется этим потоком:
- Мы работаем над функцией, а когда закончим, уничтожаем все ее коммиты и объединяем их в разработку
D: a-b-c-d-e- F
F: \__b1-b2-b3 -> squash creates F -> rebase on develop -> __/
Разработайте его, чтобы освоить
M: a-b-c-d-e-F
D: a-b-c-d-e-F
F: F
Разработка получает обновления, пока кто-то продолжает работать с F, и повторяет процесс сквоша и слияния с шага 1
M: a-b-c-d-e-F
D: a-b-c-d-e-F-g-h-i- J
F: F -> f1-f2-f3 -> squash creates J -> rebase on develop __/
Разработка выпущена для освоения, и у нас есть потенциальные проблемы
M: a-b-c-d-e-F - conflicts?
D: a-b-c-d-e-F-g-h-i-J
F: J
Я надеюсь, что я достаточно ясно, но вкратце кажется, что на шаге 3 мы создали второго родителя для функцииветвь, и это вызывает конфликты слияния при слиянии от разработки к мастеру.Правильно ли использовать ту же функцию для PR, и после того, как он снова получит одобренную работу над ним, раздавит все его коммиты, произведет ребазинг и затем сделает с ним еще один PR?