Хотя сбор вишни сработает, я не уверен, почему вы захотите. Он создает дублирующие коммиты, которые могут вызвать проблемы, если вы когда-нибудь захотите объединиться. Действительно, похоже, что это тот случай, когда вы хотите объединиться!
(bugfixB, releaseA)
--------------------- Y (master)
/ /
U---X (releaseB) /
/ / /
A---B---C---D---E ... S---T
Обратите внимание, что я добавил название ветки bugfixB - это очень общая идея. Коммит U
должен быть сделан на ветке, цель которой - исправить B (это может быть несколько коммитов). Затем эта ветвь должна быть объединена со всеми ветвями, для которых требуется исправление ошибки, в данном случае - releaseA, releaseB и master.
git checkout -b bugfixB <SHA1 of B>
# fix things, add changes
git commit
# for each branch...
git checkout releaseA
git merge bugfixB
git checkout releaseB
git merge bugfixB
git checkout master
git merge bugfixB