私たちは製品を開発しており、GitをSCMとして使用しています。各マイナーバージョンの製品は別々のブランチにあります。開発者として、マイナーバージョンごとに独自のデータベースを用意しています。私は個人的な設定ファイルも持っています。これはGitでは無視され、使用するデータベースを指定します。しかし、それはGitによって無視されるので、私が現在行っているブランチに関係なく同じままです。 configファイルがdb_1_2というデータベース(ブランチ1.2用)を使用するように指定されている場合、ブランチ1.3に切り替えると、configファイルはデータベースdb_1_2を依然として指しているためです。別のgitブランチに異なるプライベート設定ファイルを置くことはできますか?
私は現在、正しいデータベースを設定するためにブランチ識別子を読み込んで解析していますが、Git識別子は多くの種類のものがあります。から正しいブランチ名を解決してください。
私は製品自体に尋ねることができますが、古いバージョンのすべてに静的なgetVersion()メソッドがあるわけではありません。
私の質問はこれです:個人的な設定ファイルをどうにかしてブランチに所属させてもいいですか?リモート/中央リポジトリにプッシュすると最終製品にはなりませんか?
良い質問をプッシュに副作用を回避する方法を見ることができません。私のアプローチは 'git branch'の出力を解析することですが、それはおそらくあなたがすでにやっていることでしょう。 – bitmask
ええ、それは私が現在やっていることです。 "git name-rev --name-only HEAD"が "1.2"のようなものを生成するときにはうまくいきますが、特定のコミットをチェックアウトするときやバイセクショニングするときに、すべてがドレインになります。 –
サブモジュールの使用を検討しましたか? – Nic