[解決済み] マシン固有の設定ファイルのコミット
質問
私が開発しているときによくあるシナリオは、コードベースにマシン固有の設定を必要とするいくつかの設定ファイルがあることです。これらのファイルは Git にチェックインされますが、他の開発者が誤ってチェックインし直し、他の誰かの設定を壊してしまうことが常にあります。
これに対する簡単な解決策は、Git にチェックインしないこと、あるいはさらに .gitignore エントリを追加することです。しかし、私は、開発者が自分のニーズに合わせて変更できる、いくつかの賢明なデフォルトをファイル内に持つことがはるかにエレガントであることを発見しました。
Git にそのようなファイルをうまく扱わせるエレガントな方法はあるのでしょうか?私は、マシン固有の設定ファイルを変更して、そのファイルをチェックインせずに "git commit -a" を実行できるようにしたいと思います。
どのように解決するのですか?
プログラムの設定のために、2つの設定ファイルを読み込むようにします。まず
config.defaults
ファイルを読み込みます。次に
config.local
ファイルに記載されているはずの
.gitignore
この配置では、新しい設定はデフォルトファイルに表示され、それが更新されるとすぐに反映されます。上書きされた場合のみ、特定のシステム上で変化します。
これのバリエーションとして、単に一般的な
config
ファイルを作成し、バージョンコントロールで配布し、次のようなことをさせることができます。
include config.local
のようなことをして、マシン固有の値を取り込むようにします。これは、より一般的なメカニズム(ポリシーに対して)をコードに導入し、その結果、より複雑な設定を可能にします(もしそれがあなたのアプリケーションにとって望ましいのであれば)。多くの大規模なオープンソースソフトウェアで見られる、 これからの一般的な拡張は
include conf.d
であり、これはディレクトリ内のすべてのファイルから設定を読み取ります。
また を参照してください。 をご覧ください。
関連
-
git pull エラー: .git/FETCH_HEAD を開けない: パーミッションが拒否されました。
-
hint: 現在のブランチの先端が hint: そのリモートカウントより遅れているため、更新が拒否されました。
-
gitlabの紹介と使い方
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] ファイルをリセットしたり、特定のリビジョンに戻したりするにはどうすればよいですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み] Git リポジトリを特定のフォルダにクローンする方法は?
-
[解決済み] ある特定のコミットのコミット作者を変更する方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
git pull reports エラー: :cannot open .git/FETCH_HEAD:Permission denied (.git/FETCH_HEADを開くことができません。
-
gitlabの紹介と使い方
-
[解決済み] gitにもsvnのような無視コマンドはありますか?
-
[解決済み] シングルブランチクローンを「元に戻す」方法は?
-
[解決済み] なぜGitでコミットする前にステージが必要なのですか?
-
[解決済み] gitでコミット間を前進・後退させる方法は?
-
[解決済み] 現在のブランチにあるファイルをメインブランチにある同じファイルに上書きしますか?
-
[解決済み] GitHubで、既存のレポを追加するときにすべてのブランチをプッシュするにはどうしたらいいですか?
-
[解決済み] git add --patch' で新しいファイルをインクルードする?
-
[解決済み] Git タグリスト、コミット sha1 ハッシュの表示