Эта статья рекомендует вместо объединения двух веток перебазировать их там, где git только перебазирует неповторные коммиты.
Но вместо того, чтобы собирать вишню, вы можете подумать о том, чтобы просто перебить ветку:
rebase --onto release B bug
, где release
- ветвь релиза, а bug
- ветвь ошибки.
Затем вы получите что-то вроде
C'---D' //Bug branch
/
/
G---H // Release Branch
/
/
A---B---E---F--- // master
Но это будет означать, что когда вы хотите, чтобы исправления ошибок были применены к мастеру, вам нужно будет объединить ошибку с мастером, что приведет к добавлению всех изменений в выпуске к мастеру.
Вам решать, что лучше для вас работает.
Обратите внимание, что вы не должны перебазировать ветки, которые были выдвинуты на другие, потому что это создаст для них беспорядок.