Мы имеем следующую ситуацию:
A --- B --- C --- ... --- iphone
/
... --- last-working --- ... --- master
Между последней работой и iPhone было сделано 32 фиксации. Между последней работой и мастером было сделано много коммитов.
Теперь я хочу создать новую ветку, в которой у меня есть iphone и текущий мастер, объединенный вместе. И в более позднее время это должно быть объединено с мастером.
Сначала я планировал сделать:
git checkout iphone -b iphone31
git merge master
Но потом я подумал, что было бы лучше:
git checkout master -b iphone31
git merge iphone
Теперь мне интересно. Какая разница в результате? Будет ли слияние вести себя иначе?
Я уже пробовал оба и, как я и ожидал, у меня много конфликтов, потому что iphone действительно старый по сравнению с мастером. Теперь я задаюсь вопросом о самом простом способе их слияния.
Может быть, даже начинать с мастера и объединять каждую отдельную фиксацию iphone в нем было бы проще? Как это сделать:
git checkout master -b iphone31
git merge A
git merge B
git merge C
...
git merge iphone
В самом конце, когда это слияние выполняется (т.е. все конфликты разрешены и он работает), я хочу сделать это:
git checkout master
git merge iphone31