私は現在、私の会社のアプリケーションのためのいくつかのリポジトリを実行しています。設定ファイルを特定のままにしておく
私たちはビルドのために設定ファイルを必要とする2つのリポジトリを持っています。これらの設定ファイルは、ローカル、開発、ステージング、プロダクションビルドによって異なります。
各プロジェクトには、開発、ステージング、プロダクションブランチがあります。動作するようには思えどちらも、これらの戦略の
git update-index --assume-unchanged gomo-campaign-api/src/main/config/messengerPublisher.properties.xxx
ECHO ignoring log4j.properties.xxx
git update-index --assume-unchanged gomo-campaign-api/src/main/config/log4j.properties.xxx
ECHO ignoring legacy-session-mapping.properties.xxx
git update-index --assume-unchanged gomo-campaign-api/src/main/config/legacy-session-mapping.properties.xxx
ECHO ignoring hibernate.cfg.xml.xxx
git update-index --assume-unchanged gomo-campaign-api/src/main/config/hibernate.cfg.xml.xxx
ECHO ignoring gomo-messenger-config.xml.xxx
git update-index --assume-unchanged gomo-campaign-api/src/main/config/gomo-messenger-config.xml.xxx
ECHO ignoring database.properties.xxx
git update-index --assume-unchanged gomo-campaign-api/src/main/config/database.properties.xxx
ECHO Initialisation completed.
:
gomo-campaign-api/src/main/webapp/WEB-INF/database.properties.xxx merge=ours
gomo-campaign-api/src/main/webapp/WEB-INF/gomo-messenger-config.xml.xxx merge=ours
gomo-campaign-api/src/main/webapp/WEB-INF/hibernate.cfg.xml.xxx merge=ours
gomo-campaign-api/src/main/webapp/WEB-INF/legacy-session-mapping.properties.xxx merge=ours
gomo-campaign-api/src/main/webapp/WEB-INF/log4j.properties.xxx merge=ours
gomo-campaign-api/src/main/webapp/WEB-INF/messengerPublisher.properties.xxx merge=ours
私も、私は、次の内容で実行したSHファイルを持っている:私は、次の内容のファイル.gitattributes追加してい
、私は自動マージを行う場合、すなわち
git checkout staging
git merge development
これらのファイルの何かが変更された場合、私はまだ変更を移動しようとしています。
これらの戦略の設定に何か不足していますか?
dev>ステージングまたはステージング>プロードマージを実行する(またはアクセスすることさえできる)私と他のユーザーは1人だけです 他のユーザーは、開発にブランチを取得するためにプルリクエストを作成する必要があります。だから私は簡単にdevファイルを変更してローカルの設定を導入する他のユーザーを停止することができます。
しかし、私は本当にマージでこれらのファイルを無視するためにマージする必要があります。
私がステージングをチェックアウトして変更を加えてレポにプッシュする場合は、その変更を行いたいが、プロダクションに移すことは望ましくない。
私は十分な詳細を説明してくれることを願っています。
ありがとうございます。レポで
短い答えはできないということです。 (あなたは*理論でもできます; * http://stackoverflow.com/a/41825703/1256452参照 - http://stackoverflow.com/a/42104116/1256452を読むこともできますが、それは重要なコードを書く必要があります。 )そのため、設定ファイルをバージョン管理することは常に悪い考えです。代わりに、version-control * sample *または* default *の設定ファイルを使用し、*実際の設定をバージョン管理ソフトウェアの厄介な邪魔にならないようにしてください。 (あるいは、あなたがそれをバージョン管理するならば、ソフトウェアそのものではなく*独立したリポジトリ*で行うようにしてください)。 – torek