Объединить основные функции в общие ветви в Git
Предположим, что у меня есть несколько общих веток в моем репозитории Git, например: newfeature, эксперимент и gtkgui, и я разделяю эти ветки в исходном репозитории. Моя команда и я вносим некоторые изменения во все ветви и помещаем эти изменения в исходный репозиторий. Позже я обнаружил небольшую ошибку в коде ядра, исправил ее и передал в основную ветку.
Мне нужно, чтобы это исправление было доступно в трех других ветках. Каков наилучший способ сделать это? Нужно ли объединять основную ветвь с другими ветвями одну за другой и выдвигать их? Может ли git rebase помочь мне?
1 ответ
Два решения - тематическая ветка и сбор вишни:
Смотрите " Git & Working на нескольких ветках".
Теперь я действительно не рекомендую сбор вишни, что в вашем случае означало бы дублирование набора коммитов повсеместно (т.е. в разных ветках).
Поэтому, пока вы вносите изменения в самую старую ветку, которая нуждается в них, и объединяетесь, вы на правильном пути.
Я бы просто переустановил ветки функций на главном сервере, когда это произойдет (я понимаю, что меняется медленно, так что это не должно иметь большого значения). Он также распределяет разрешение любых возникающих несоответствий ближе к тому моменту времени, когда они возникли (таким образом, мы надеемся, что выиграет от эффекта горячего влажного кэша). Или вы можете выбрать изменения в ветках функций, при последующем слиянии git должен заметить уже примененные изменения и просто молча их пропустить.