私は、プロジェクト全体にとって重要な設定ファイルを持っています(つまり、リポジトリをクローンする人はこのconfを持つべきです)、そしてローカル設定をいくつか持っていますこのファイルの中の何かをカスタマイズするために、私はローカルのカスタマイズを追跡したくありません)。構成ファイルにトラッキング不可能な部分があります
このファイルは一意で、複数のファイルを使用するようにソフトウェアを設定することはできません。また、include
という指令はサポートしていません。
Gitでこのシナリオを処理する方法はありますか?
私は、このファイルの唯一のステージ部にgit-add -p
または-i
を使用することができますが、それは良い解決策ではない:それは、あまりにもエラーが発生しやすいのですかなりいくつかの作業を必要としgit-status
は、いつものようにローカルで変更この設定ファイルを表示します。
多分私はいくつかのgitフックを使用することができますか?
コンフィグテンプレート "configname.template"を正しいグローバルオプションのみでチェックインして、実際のコンフィグレーション名にコピーするように頼むことができますか?彼らは、ローカルオプションを設定する必要があるので、これを尋ねることは、面倒ではありません。 – Janne
@ Janne:これは私が今やっていることです:私は 'config.global'(追跡された)ファイルと' config.local'(untracked)ファイルを持っています。ユーザーは 'config.local'のみを変更し、' cat config.global config.local> config'を実行する必要があります。問題は、このようにして設定ファイルが実際にgitによって追跡されず、 'config.global'が更新されたときにユーザーが気にする必要があり、' config'ファイルを手動で更新する必要があるということです。このシナリオはまた、かなり誤りがちです。 – peoro
グローバル設定も同様に変更される傾向がありますか?私はgitからこれを処理する良い方法がないと思う。実際のアプリケーションの周りにラッパースクリプトを持つようなものに頼ることができます。このスクリプトは、グローバル設定ファイルの変更を最初にチェックし、アプリケーション設定に渡す前にローカル設定とマージします。厳密ではありませんが、少なくともエラーが発生しやすい手動介入を削除してください。 – Janne