branchを並行運用しなければいけない場合の共存方法。cherry-pickの選択

chefを使っていると、案件毎とかサーバ毎で微妙に設定が違うところがあると思うのですが
これは git で設定ファイルを管理して branch で案件とかサーバとかを切り分けるという運用方法をとっていまして
そうするとひとつ困ることがあって


main -----+
|
branch a +------ アカウントの追加 ---------- ミドルウェアの微調整-- ---------------------------->
|
branch b +-------------------- DBサーバの仕様変更 --- MySQLの設定変更 --- !!イノベーション!! --->
|
branch c +--- 案件Cの仕様設定 --------------------------------------------------------------->

日々運用していると、イノベーションが起こって、これってこの案件ブランチにかぎらず
全体的に反映したいなーという時が最近よくあるのです。

その解決方法としてなにか良い方法ないかなー。ってマニュアル読んでいたら
cherry-pickを使って、その
イノベーションが起きたコミットだけブランチ毎に持っていくるという使い方があって、
これでブランチ毎に反映させるのがいいのかなーと思ったりしています。

え、そんなダサい方法じゃなくてもこれやればいいじゃん?
みたいなハウツーあったら教えて頂ければと思います!