gitでテスト環境用設定を別ブランチにするような運用はしないほうがいい

gitでテスト環境を変更だけした別ブランチを作って、お互いにマージし合うような運用はしてはいけない。
お互いにマージするブランチは、1ブランチを2箇所で更新しているようなものなのでどうしても設定ファイルがどこかのタイミングで意図しない側に書き換わってしまう。
ただし片方に一方的に変更をマージするだけなら問題ないと思う。



以下のようにすれば設定ファイルの修正だけは上書きせずtestブランチからmasterブランチに変更をマージできる。
前述のようにお互いのマージ(masterブランチからtestブランチのマージを混ぜる)と、testブランチで一度test用に変更した設定ファイルが本番環境用に差し戻されてしまうので問題があるが……。

      main1         main2             main3
------*-------------M-----------------M
      |             |                 |
      |    +--------+          +------+
      |    |                   |
      +----*-------------------*
           test1               test2

main1: 本番環境用設定ファイル変更
test1: テスト環境用設定ファイルに変更
main2: mainブランチにtestブランチをマージ。ただし、本番環境用設定ファイルの内容を維持するよう修正してコミットする。
test2: テスト環境で行ったなにかの設定
main3: mainブランチにtestブランチをマージ。test2の修正がマージされるが、test1の修正はマージ済みなので設定ファイルはテスト環境用に書き換わらない。