Git Repos用のテンプレート設定ファイルの使用
我々は、アプリケーションの展開で編集/変更を開発者のためのrepoに格納するためのテンプレート設定ファイルが必要です.伝統的な、あなたは.gitignoreファイル.しかし、私が説明するように.Gitignoreは、この状況に適していません.
なぜ我々は使用できません.ジティノル
我々は解決策について話す前に、なぜ我々はまず理解する必要があります.Gitignoreは我々の状況のために動作しません、そして、より重要に、いつそれを使用するのが適切でしょうか.gitignoreの主な目的.gitignoreファイルは、指定された追跡されていないファイルを無視するようにgitに指示するために使用されます.Gitは、指定されたファイルがrepoの一部でないことを効果的にふります.
これは我々の状況では動作しません.なぜなら、テンプレートがREPOに存在するように設定ファイルを追跡して維持したいからです.一方、私たちの個人的な設定のためのファイルの独自のローカルコピーを維持することができます.
状況.あなたがリモートレポ上のファイルのテンプレートコピーを維持する必要なしにローカルの設定ファイルが欲しいならば、Gitignoreは働くでしょう.この点の不利な点は、repoを使いたいと思う誰かを伝える必要があるということです.
解決法
リモートレポ上のファイルのテンプレートコピーを維持するには、使用できません.gitignoreしかし、我々は
設定ファイルの作成
まず、設定ファイルを作成する必要があります.これは必ずしも設定ファイルである必要はありません.ローカルコピーに別のリモートコピーを使いたいファイルであれば構いません.あなたがリポジトリを初期化したと仮定して、私はリモートレポが欲しいテンプレート設定ファイルを作成することから始めます.
テンプレート設定ファイルのコミットとプッシュ.
これで、他のファイルと同じように設定ファイルをコミットできます.
設定ファイルのスキップ作業ツリーフラグの設定.
さて、設定ファイルにスキップワークツリーフラグを設定します.これはgitにパラメータで指定したファイルへの将来の変更を無視するように伝えます.
更新インデックス
gitコマンドはgitに指定したファイルのインデックスを更新します.
--ワークツリーをスキップする
このフラグはgitに指定されたファイルが常に最新であることを前提としています.たとえ変更されたとしても、これは誤ってgitにコミットすることを心配せずに、設定ファイルを自分の値で変更できる秘密です. このコマンドはローカルのリポジトリにのみ影響を与えますので、変更を無視してREPOを実行する必要があります.
設定ファイルの値を設定します.
さて、gitは設定ファイルに対して変更を無視します.これは、テンプレートファイルが他の開発者が使用するリモートRepoに残ることを意味します.
設定ファイルをいくつかのダミーデータで設定します.
テンプレートの変更
しばらくして、パブリックGitリポジトリのテンプレート設定を変更したい場合があります.Gitに設定の変更に注意を払い始めるよう指示します.JSON、単に同じコマンドを実行する必要があります.これにより、-スキップされたワークツリーフラグをトグルする.
なぜ我々は使用できません.ジティノル
我々は解決策について話す前に、なぜ我々はまず理解する必要があります.Gitignoreは我々の状況のために動作しません、そして、より重要に、いつそれを使用するのが適切でしょうか.gitignoreの主な目的.gitignoreファイルは、指定された追跡されていないファイルを無視するようにgitに指示するために使用されます.Gitは、指定されたファイルがrepoの一部でないことを効果的にふります.
これは我々の状況では動作しません.なぜなら、テンプレートがREPOに存在するように設定ファイルを追跡して維持したいからです.一方、私たちの個人的な設定のためのファイルの独自のローカルコピーを維持することができます.
状況.あなたがリモートレポ上のファイルのテンプレートコピーを維持する必要なしにローカルの設定ファイルが欲しいならば、Gitignoreは働くでしょう.この点の不利な点は、repoを使いたいと思う誰かを伝える必要があるということです.
解決法
リモートレポ上のファイルのテンプレートコピーを維持するには、使用できません.gitignoreしかし、我々は
update-index
gitに設定ファイルを扱う方法を指示します.設定ファイルの作成
まず、設定ファイルを作成する必要があります.これは必ずしも設定ファイルである必要はありません.ローカルコピーに別のリモートコピーを使いたいファイルであれば構いません.あなたがリポジトリを初期化したと仮定して、私はリモートレポが欲しいテンプレート設定ファイルを作成することから始めます.
{
"config_id": "development",
"app_name": "Example Application",
"app_desc": "This is an application that is used as an example",
"domain": "localhost:8080",
"node_port": 8080,
"host": "localhost",
"user": "user",
"password": "password",
"database": "database",
"ExampleApiKey": "API KEY"
}
テンプレート設定ファイルのコミットとプッシュ.
これで、他のファイルと同じように設定ファイルをコミットできます.
git add config.json
git commit -m "Added template configuration file"
git push
設定ファイルのスキップ作業ツリーフラグの設定.
さて、設定ファイルにスキップワークツリーフラグを設定します.これはgitにパラメータで指定したファイルへの将来の変更を無視するように伝えます.
git update-index --skip-worktree config.json
// syntax: git update-index --skip-worktree <file>
続ける前に、このコマンドが何をしているかを正確に調べましょう.更新インデックス
gitコマンドはgitに指定したファイルのインデックスを更新します.
--ワークツリーをスキップする
このフラグはgitに指定されたファイルが常に最新であることを前提としています.たとえ変更されたとしても、これは誤ってgitにコミットすることを心配せずに、設定ファイルを自分の値で変更できる秘密です.
設定ファイルの値を設定します.
さて、gitは設定ファイルに対して変更を無視します.これは、テンプレートファイルが他の開発者が使用するリモートRepoに残ることを意味します.
設定ファイルをいくつかのダミーデータで設定します.
{
"config_id": "development",
"app_name": "Example Application",
"app_desc": "This is an application that is used as an example",
"domain": "example.com",
"node_port": 8081,
"host": "exampleHost",
"user": "exampleUser",
"password": "examplePass",
"database": "exampleDatabase",
"ExampleApiKey": "CF1Bmw*xr5-Example-Key-e4msRhhhF3"
}
さて、次のgitコマンドを実行します. git status
あなたは、我々がちょうど作った変更が追跡されていないのを見ます.これは、我々が誤って我々の個人的なパスワードとAPIキーをGithubに委託する危険を走らないことを意味します.テンプレートの変更
しばらくして、パブリックGitリポジトリのテンプレート設定を変更したい場合があります.Gitに設定の変更に注意を払い始めるよう指示します.JSON、単に同じコマンドを実行する必要があります.これにより、-スキップされたワークツリーフラグをトグルする.
git update-index --skip-worktree config.json
それから、私たちは、新しいテンプレート設定ファイルを作り、コミットしたい変更を自由にします.一旦テンプレートを更新したら、私たちはちょうどアップデートインデックスコマンドを実行することができます.Reference
この問題について(Git Repos用のテンプレート設定ファイルの使用), 我々は、より多くの情報をここで見つけました https://dev.to/leonwilberforce/using-a-template-configuration-file-for-git-repos-50o2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol