[解決済み] プロジェクトの設定ファイルを扱う最も簡単な方法は何ですか?
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
スクリプトは、コミット時にそのファイルの内容を元の (テンプレートの) 値に戻すからです。そこで誤ってプッシュすることはありません。
関連
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] 2つのコミット間で変更されたファイル名のみをリストアップする方法
-
[解決済み] プロジェクトのコミット履歴から削除されたファイルを見つけるには?
-
[解決済み] Git で競合するファイルをリストアップする最も簡単な方法は何ですか?
-
[解決済み] Git による大規模なバイナリファイルの管理
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み] GitHub: フォークを "自分のプロジェクト "にする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
解决[email protected]。パーミッションが拒否されました (publickey)。リモートリポジトリから読み取れませんでした
-
Note: Git prompts このリポジトリで別の git プロセスが実行されているようです ....
-
git reports an error fatal: unable to auto-detect email address (got 'Administrator@MS-20180504MMDH.(none)')
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み】gitはスペースとタブを自動的に切り替えることができますか?
-
[解決済み] GitHubで2つのブランチの差分を取るには?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] Gitブランチの名前をローカルとリモートで変更できますか?重複
-
[解決済み] Git Repo から既存のファイルを削除する