私はコードイグナイターのアプリケーションを友人と一緒に開発しています。私たちはどちらもマシン上で異なるデータベースログインを持っているため、異なる "config/database.php"ファイルがあります。Gitを開発者間でどのように使うことができますか?
Gitに私たちの両方に異なるデータベース設定があることを教えてもらえますか?現時点では、 "config/database.php"が私たちのために異なるので、私たちが引き出すたびにマージ競合が発生しています。
私はコードイグナイターのアプリケーションを友人と一緒に開発しています。私たちはどちらもマシン上で異なるデータベースログインを持っているため、異なる "config/database.php"ファイルがあります。Gitを開発者間でどのように使うことができますか?
Gitに私たちの両方に異なるデータベース設定があることを教えてもらえますか?現時点では、 "config/database.php"が私たちのために異なるので、私たちが引き出すたびにマージ競合が発生しています。
私は通常/application/config/database.php
というファイルの名前を/application/config/database.default.php
(バージョン)とad d .gitignore
ファイルへの元のパス。次に、各開発者は、デフォルトの(バージョン管理されていないファイル)を元のパスにコピーし、ローカル設定ごとに編集します。
これはサーバーセットアッププロセスの特別なステップになりますが、あなたが言いたい悲しみを節約します。
つのオプションは次のとおりです。
としては、「あなたの結果古い場所にファイルがありますが、もう一度別のファイルに干渉しません。
通常、これらの問題を避けるために、データベース構成ファイルを.gitignore
ファイルに置きます。とにかく、これらの設定ファイルを自分のユーザ/パスワードとともにgitに入れないことをお勧めします。
config/database.yml
にコピーしてローカルマシンに編集するための基礎として、config/database.yml.template
ファイル(私たちはレールを使用しています)を頻繁に保管します。 database.yml
ファイル名は、.gitignore
ファイル(バージョン管理下で共有されます)に格納されます。
gitignoreの基本はhereです。
避けるべき落とし穴を含む追加情報:Ignore files that have already been committed to a Git repository
環境変数に基づいて設定を選択する1つのファイルがあります。その変数をサーバーの設定で設定します。そうでない場合は、同じ問題が再び発生し、あなたがverisonないだろう、
<?php
if (getenv('WHOS_CONFIG') == 'mine') { … } else { … }
やサーバ設定で(:)
例えばApache用:また
<VirtualHost *>
SetEnv WHOS_CONFIG mine
…
、バージョン管理されていないdatabase.local.php
ファイルを含んでいる共通database.php
設定ファイルを持っています。後者は必要な変数をオーバーライドします。
どのようにセッションを維持していますか?アプリケーションはSOAにアクセスしますか?または、各クライアントはそれ自身のdb接続を保持していますか?その場合は、サービスの共通ログインを使用して、ユーザーログインインターフェイスと簡単な認証メカニズムを実装できます。 –