1. ホーム
  2. git

[解決済み] マシン固有の設定ファイルのコミット

2023-05-27 20:14:40

質問

私が開発しているときによくあるシナリオは、コードベースにマシン固有の設定を必要とするいくつかの設定ファイルがあることです。これらのファイルは Git にチェックインされますが、他の開発者が誤ってチェックインし直し、他の誰かの設定を壊してしまうことが常にあります。

これに対する簡単な解決策は、Git にチェックインしないこと、あるいはさらに .gitignore エントリを追加することです。しかし、私は、開発者が自分のニーズに合わせて変更できる、いくつかの賢明なデフォルトをファイル内に持つことがはるかにエレガントであることを発見しました。

Git にそのようなファイルをうまく扱わせるエレガントな方法はあるのでしょうか?私は、マシン固有の設定ファイルを変更して、そのファイルをチェックインせずに "git commit -a" を実行できるようにしたいと思います。

どのように解決するのですか?

プログラムの設定のために、2つの設定ファイルを読み込むようにします。まず config.defaults ファイルを読み込みます。次に config.local ファイルに記載されているはずの .gitignore

この配置では、新しい設定はデフォルトファイルに表示され、それが更新されるとすぐに反映されます。上書きされた場合のみ、特定のシステム上で変化します。

これのバリエーションとして、単に一般的な config ファイルを作成し、バージョンコントロールで配布し、次のようなことをさせることができます。 include config.local のようなことをして、マシン固有の値を取り込むようにします。これは、より一般的なメカニズム(ポリシーに対して)をコードに導入し、その結果、より複雑な設定を可能にします(もしそれがあなたのアプリケーションにとって望ましいのであれば)。多くの大規模なオープンソースソフトウェアで見られる、 これからの一般的な拡張は include conf.d であり、これはディレクトリ内のすべてのファイルから設定を読み取ります。

また を参照してください。 をご覧ください。