web-dev-qa-db-ja.com

使用されているGit構成ファイルを確認する方法と設定を上書きする方法

関連する質問が2つあります。

  1. Git bashクライアントが使用している構成ファイルを正確に判断するにはどうすればよいですか?
  2. 使用している構成ファイルの設定を上書きできますか?

グローバルとローカル(別名プロジェクト).gitconfigファイルのシステムがあることを知っています。そして Gitサイト によると、これらの「レベル」(システム、グローバル、ローカル)のそれぞれが前のレベルの値を上書きするため、./git/config(ローカル)の値は/etc/gitconfigなど。

言い換えると、階層を扱っており、ローカルの構成ファイルでの宣言は、グローバルまたはシステムの構成ファイルでの宣言よりも優先されます。

しかし、設定がたとえばグローバルファイル(たとえばプロキシ)に存在し、ローカルファイルにnotが存在する場合、その設定はグローバルのプロキシ設定を使用しますか?つまり、Gitは階層ルールを適用する前に、すべての構成ファイルのすべての設定を処理します。

次に、上記の例で、グローバル設定のプロキシ設定isがローカル構成ファイルの他の設定と一緒に使用されている場合、どうすれば上書きできますか?

17
P. Cartier

Git bashクライアントが使用しているgitconfigファイルを正確に判断するにはどうすればよいですか?

--show-Originオプション

git config --list --show-Origin

これにより、各設定の値が取得されたファイルが表示されます。

使用しているGit構成ファイルの設定を上書きできますか?

代わりに使用したい値を優先順位の高いソースに置くことで、優先順位の低いソースの設定を上書きできます。

私はあなたの例を読みました、そして私が質問を得ることが本当にわかりません。プロキシ設定がグローバルファイルにある場合は、すでに指摘したように、ローカルファイルに値を入力することでオーバーライドできます。

19

つまり、Gitは階層ルールを適用する前に、すべての構成ファイルのすべての設定を処理します。

はい。結果は加算的です。各レベルの設定は、前のレベルの設定とマージされます。両方のレベルで同じ設定が指定されている場合、具体性の低い設定が具体性の低い設定を上書きします。

git configuration documentation には、次のように明記されています。

各リポジトリの.git/configファイルはそのリポジトリの設定を保存するために使用され、$ HOME/.gitconfigは.git/configファイルのフォールバック値としてユーザーごとの設定を保存するために使用されます。ファイル/ etc/gitconfigを使用して、システム全体のデフォルト設定を保存できます。

2つ目の質問については、

そして、上記の例で、グローバルのプロキシ設定がローカル構成ファイルの他の設定と一緒に使用されている場合、どうすればそれを上書きできますか?

プロジェクトのローカル構成で、より具体的な設定を提供します。

2
meagar

1。次のコマンドを使用して、すべての設定とそれらがどこから来ているかを表示できます:

$ git config --list --show-Origin

設定の元は、以下にリストされている3つの異なる構成ファイルのうちの1つである可能性があります。

2。 Git環境のセットアップ:

Git_config_visualisation

システムにgitをインストールする場合、Git環境をカスタマイズするためにいくつかのことを行う必要があります。 Gitにはgit configというツールがあり、Gitの動作のすべての側面を制御する構成変数を取得および設定できます。上に示したように、3つの場所のいずれかに保管できます。

あなたがWindows環境を持っていると考えると:

  • システムレベル[git config --system]:

このコマンドを使用して、システムレベルでgitによって構成セットを編集/表示できます。デフォルトでは、システムとそのすべてのリポジトリ上のすべてのユーザーに適用されます。 Git for Windowsのバージョン2.x以降を使用している場合は、Windowsの'C:\Documents and Settings\All Users\Application Data\Git\config'にもシステムレベルの構成ファイルがありますXPおよび'C:\Program Data\Git\config'にWindows Vista以降。

  • ユーザーレベル[git config --global]:

--globalフラグは誤解を招く可能性があることを知っていますが、構成設定は特にあなたに適用されることを覚えておいてください。つまり、現在のユーザー現在ログインしています。--globalオプションを渡すことで、Gitがこのファイルを読み書きできるようにすることができます。これにより、システムで使用するすべてのリポジトリに影響します。 Windowsの場合、gitはホームディレクトリ、つまりC:\Users\$USER\.gitconfigでこのファイルを探します。

  • ディレクトリレベル[git config --local]:

--localオプションを使用して、Gitにこのファイルの読み取りと書き込みを強制できます。この構成ファイルは、現在使用しているリポジトリの.gitディレクトリにあります。 誰でもこれらの構成設定を表示/編集できます。

注:各レベルは前のレベルの値を上書きするため、.git/configの値はUsers\$USER\.gitconfigの値を上書きします

0
Tahir77667