Git конфликты после слияния сквош - PullRequest
0 голосов
/ 12 марта 2019

У меня есть ветка master и ветка dev.например,

master: A--B--C

dev: A--B--C--D--E

, затем я хочу выпустить D и E, поэтому я создаю ветку release-1.0 от master, сквашиваем слияние dev до release-1.0, поэтому

release-1.0: A--B--C--F(D&E)

после Irelease, я объединяю release-1.0 с master.

master: A--B--C--F(D&E)

, затем я продолжаю свои новые изменения в dev

dev: A--B--C--D--E--G--H

, и возникают конфликты, когда я создаю release-2.0 из master и merge devк этому.

Вот проблема, с которой я столкнулся.Я понимаю, что это неправильный способ использования сквоша слиянием, я провел поиск и не нашел хорошего решения.

1 Ответ

2 голосов
/ 12 марта 2019

Я бы рекомендовал использовать только регулярные слияния между dev и master. Если вы действительно хотите раздавить, вы можете создать для него ветку feature, а затем сдвинуть ее в dev, как только это будет сделано.

Что касается текущей ситуации, вы можете перебазировать dev коммитов G и H на master следующим образом:

git checkout dev
git rebase --onto master <E commit hash>

Вот чем вы закончите:

* dbd43d8 (HEAD -> dev) H
* c203a3d G
* 39a258a (master) F(D&E)
* 538454c C
* 8aa2e42 B
* 2f3facb A

Тогда вы можете просто быстро слить ветку master.

...