複数 UI のバージョンを管理するベストプラクティスがわからない

これだ!っていう管理方法を思いつきませんでした。
こうすると良いよ!こうしてるよ!っていうのがあれば是非教えてください。

概要

開発用ツールとして UI 及び使用可能な機能に差を持たせたデスクトップアプリを作っています。
仕様はホワイトボードの落書きレベルで、使ってもらってフィードバックと改善を繰り返すので、UI も機能も更新頻度はそこそこあります。

実際とは違いますが、例えばこんな感じ。

  • 開発チーム用
    • 全機能使用可能
    • 画面から各種パラメータを細かく設定可能
  • 評価チーム用
    • 特定機能のみ使用可能
      • 非表示にしているだけ
    • パラメータはデフォルト値を使用
      • 画面上にもパラメータは表示しない
      • 評価チームはパラメータの詳細を知らない

いわゆる MVC なプログラムで UI の違いを管理するような場合、どのようにするのがベストプラクティスなんですかね。

現状

試行錯誤しつつ、現在はこのようにしています。

  • UI ごとにブランチを作成
  • 機能の更新がある程度区切りが付いたら、各ブランチにマージして反映

課題というか不満

  • ブランチ毎にマージするのがめんどくさい
    • コミットフックとか使えばいいのかな…

また何か思いついたりしたら書くかも。