1. ホーム
  2. git

[解決済み] プロジェクトの設定ファイルを扱う最も簡単な方法は何ですか?

2023-06-07 21:59:31

質問

どんなプロジェクトでも、少なくとも 1 つの設定ファイルがあるのが普通です。プロジェクトを共有するたびに git でプロジェクトを共有するたびに、私は同じ問題を抱えています。

  • 機密情報 (各開発者が異なる DB パスワードを持つなど)
  • タスク固有の情報 (開発者が特定のタスクで作業しているとき、設定を変更する必要がある)

明らかに、開発者固有のデータがメインリポジトリに流出するのを防ぐために、何らかの方法で設定を無視する必要があります。現在、私が使用していたいくつかの方法があり、それぞれいくつかの欠点があります。

  • .gitignore 設定ファイル
    • 最も基本的な方法
    • 開発者がレポをクローンするとき、設定ファイルが見つからないので、設定ファイルがどこにあったかを見つけて再作成しなければならない。
  • config ファイルは無視されません。このファイルにはダミーの情報が含まれており、各開発者はそれをアントラックして自分の .git/info/exclude に置くか、あるいは git update-index --assume-unchanged ... をファイル
    • ファイルは、レポをクローンする誰もが利用可能です。
    • 初めて git を使う人を混乱させるような高度なテクニックが含まれています。
    • 誰かが誤って設定ファイルをコミットしてしまうと、プル/フェッチできなくなる(除外は .gitignore )
  • をサフィックスとする設定ファイルを配布します。 _original というサフィックスを付けて配布し、 実際のファイルは .gitignore . そして、各開発者はファイル名を本当の名前に変更します。
    • のファイルは、レポをクローンした人が誰でも利用できます。
    • アプリケーションのすべての設定を検索し、名前を変更する必要があります。

これを処理するために、他の、おそらく、より良い方法はありますか?私は何か、少なくともいくつかのプラグインを見逃しているのではないかと思っています。

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

フィルタドライバ は、"automatic" で詳述されているように、オプション3を実装するための方法です。 プロジェクトに秘密鍵がある場合、GitHubへのプッシュはどのようにすればよいのでしょうか? となります。

その smudge スクリプトは、チェックアウト時に

  • 修正すべき正しい設定ファイルを検出する
  • 必要な情報を取得する (最適な Git リポジトリの外 ) を取得し、テンプレートの値を実際のものに置き換えます。

そこから開発者は、これらの設定ファイルに対して好きなように修正することができます。

それは重要ではありません。 clean スクリプトは、コミット時にそのファイルの内容を元の (テンプレートの) 値に戻すからです。そこで誤ってプッシュすることはありません。