私はプロジェクトを継承しており、gitを使用しています。私たちはいくつかの環境(dev、test、prod)を持っています。以前のチームは基本的に、同じアカウント、パスワード、sidなどを使って各インスタンスごとにすべてを再作成しました。唯一変更されたのは/ etc/hostsのホスト名マッピングでした。そのため、別のデータベースサーバーに接続します。ブランチング:リリース/開発用の異なる設定ファイル
これは、開発者がメイン開発サーバーと同じデータベースインスタンスを使用して実験を実行できるようにスキーマをコピーできないため、問題が発生します。私は基本的に別のホストに新しいデータベースインスタンスを作成し、その新しいサーバを指すように/ etc/hostsを変更する必要があります。
これは現在作業中の設定ですが、私は各インスタンスごとに異なる設定ファイルを維持する方法を見つけようとしています。すなわち、異なるバージョンのapplicationConfig.xml
がブランチによって異なります。私は、レポにデータベース認証情報を保持することは素晴らしい考えではないと主張することができると推測していますが、それをただ無視するだけです。
別のバージョンのファイルを使用する可能性がある別の状況では、デバッグする可能性があります。私はJavaScriptのロガーフレームワークを使用していて、本番リリースでは出荷したくないデバッグコードを追加しています。開発/テスト時にロガーの内容を追加する必要はなく、リリース前に再び削除する必要はありません。誰かがそれをするのを忘れるかもしれない。
異なるブランチのファイルの異なる「バージョン」を扱う適切な方法は何ですか?マスター上の最新コードと同期しているブランチを持つ方法がいくつかありますが、いくつかのconfig/codeファイルが変更されていますか?私はそれが自動的に同期を維持するとは思わないが、私は完全に(?)を無視していない間に、設定ファイル(またはその一部)をマージすることができないようにしたいと思います。たとえば、行6,7(dbユーザー名とパスワード)をマージしないでください。他の変更をファイルにマージします。
おかげで異なる設定と異なる資格情報を持つようになります!これは、法案に適合しているようです。 – robertrv
そのリンクは死んでいます。 – ashack
FYIそれは生きている(再び)。 – LeonardChallis