Я использую Git уже давно, но сегодня я столкнулся с проблемой слияния некоторых изменений с ветки на ветку. Эта ситуация у меня есть - у меня есть 4 филиала: 2 основных и 2 функциональных. Предположим, что они называются так: main_branch1
, main_branch2
, feature_branch1
и feature_branch2
. Разделы функций всегда создаются от main_branch1
, и когда вы завершаете свою работу, вы объединяете их обратно в нее. Затем в некоторый момент времени их изменения объединяются с main_branch2
. Никаких слияний между двумя основными ветвями нет! Здесь проблема. В моем случае прямо сейчас feature_branch1
создан с main_branch1
в определенное время, сделал некоторые изменения внутри него и объединил его обратно в основную ветку. Затем я снова создал feature_branch2
с main_branch1
, там тоже изменился, а также снова объединил его. Теперь я хочу объединить feature_branch2
в main_branch2
, но только изменения, которые у него есть, потому что когда я его создал, я получил изменения от feature_branch1
. Я пробовал с git rebase
, но не мог добиться этого, и мое рабочее дерево выглядело как полный беспорядок.Git - как объединить ветвь функции, но исключить некоторые коммиты?
Вот график, чего я хочу достичь и как мое дерево должно выглядеть следующим образом:
o---------------o---------------------o main_branch1
\ /\ /
o-----------o \ /
feature_branch1 \ /
\ /
o-----------o
feature_branch2 \
\
o-----------o main_branch2
Как вы можете видеть, когда я создал feature_branch2
, я уже получил изменения от feature_branch1
, которые были объединены в main_branch1
, Как я могу исключить их, когда я сливаю feature_branch2
в main_branch2
? Но мне нужно будет добавить их позже, когда я решит объединить feature_branch1
в main_branch2
...
Любая идея, как я могу это сделать? Благодаря! :)
Да, я просмотрел параметр '--onto', но я не уверен, как это мне поможет. Дело в том, что компиляция слияния из ветки 'feature_branch1' уже находится в' feature_branch2', когда я ее создаю. Теперь я хочу объединить только 'feature_branch2' в' main_branch2', но без этого компиляции слияния из 'feature_branch1'. График выше показывает, что на самом деле. – yep4u