Общий подход к этому - «слияние вверх». От man gitworkflows
:
Всегда фиксируйте свои исправления в самой старой поддерживаемой ветке, которая требует их. Затем (периодически) объединяйте ветви интеграции друг с другом.
Это дает очень контролируемый поток исправлений. Если вы заметили, что применили исправление, например, к мастер, который также требуется в maint, вам нужно будет выбрать его (используя git-cherry-pick (1)) вниз. Это случится несколько раз, и вам не о чем беспокоиться, если вы не делаете это очень часто.
Первый метод, конечно, предпочтителен - хорошо, что коммит в репо будет только один раз, и вы сможете увидеть историю его попадания в каждую ветку. Однако жизнь не идеальна, и вы иногда попадете во вторую категорию. Если такая ситуация станет достаточно распространенной, возможно, вы могли бы написать скрипт типа
.
multi-cherry-pick <commit> <branch> [<branch>...]
, который проверяет каждую ветку по очереди и выбирает данный коммит.