2017-03-14 4 views
5

私は2つの関連質問がある:どのGit設定ファイルが使用されているか、設定を上書きする方法を知るには?

私のGitのbashのクライアントによってその設定ファイルを使用している私は、正確に判断することができますどのように
  1. 使用されている設定ファイルの設定を上書きすることはできますか?

私はシステム、グローバルとローカル(別名プロジェクト).gitconfigファイルがあることを知っています。 Git siteによれば、これらの各レベル(システム、グローバル、ローカル)は前のレベルの値を上書きするため、./git/config(ローカル)の値は/etc/gitconfigの値よりも優先されます。

つまり、階層を扱っており、ローカル設定ファイル内の宣言は、グローバル設定ファイルまたはシステム設定ファイルよりも優先されます。

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

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

答えて

2

これは、階層ルールを適用する前に、すべての設定ファイルのすべての設定でGitが機能することを意味します。

はい。結果は相加的です。各レベルの設定はとなり、前のレベルの設定でとなります。両方のレベルで同じ設定が指定されている場合は、より具体的な設定が低いほど、あまり具体的な設定が上書きされません。 git configuration documentationとして

明記:各リポジトリに

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

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

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

+0

OK。あなたの答えをありがとう ...私はレポのためのただ一つの特定のファイルを使用する方法があるかもしれないと思った。あなたはこれを期待するでしょう。とにかく...「追加」の結果は、プロジェクトのローカル設定でより具体的な設定を提供する必要があることを意味します。つまり、グローバルには10個の宣言があり、特定のレポには2個の単純なものしか必要ないということです。空の文字列またはデフォルト値でローカルファイル内の他の8個をオーバーライドする必要があります。 –

4

Git bashクライアントがどのgitconfigファイルを使用しているかを正確に判断する方法を教えてください。

あなたは、これは、各設定の値がとられたファイルが表示されます

git config --list --show-origin 

--show-originオプションを使用することができます。

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

優先順位の低いソースからの設定を、優先順位の高いソースに置き換えることで、優先するソースを設定することができます。

私はあなたの例を読んだことがあります。私は本当に疑問を感じています。プロキシ設定がグローバルファイルにある場合は、すでに自分自身を指摘しているので、ローカルファイルに値を入力することでオーバーライドすることができます。

+0

ポイントはどの設定私は実際に使用しています。プロのコマンド –

+0

... videdはあなたが実際にどの設定を使用しているかを知らせます。 –

+0

オーバーライドの問題について...私はグローバルにあるものをオーバーライドしたいので、上記のMeagarのように特定の設定をローカルファイルに入れなければなりません。彼らのかなりの数があるので、かなり優しい!しかしそれはそのままです。 –

関連する問題