上記のGit2.9で述べgit config credential.helper=
た' 'に加えて、(Git 2.13.x/Git 2.14、2017年第3四半期)1つのコマンド(特定のリポジトリ内のコマンドだけでなく)に対してのみ資格ヘルパーを無効にできます。
つまり、git -c credential.helper= clone /url/remote/repo
今は機能します。
" git clone --config var=val
"は、新しいリポジトリのリポジトリごとの構成ファイルにデータを入力する方法ですが、valが空の文字列の場合はうまく機能しませんでした。
これは修正されました。
Jonathan Nieder()によるcommit db4eca1(2017年5月2日)を参照してください。(濱野純雄による合併---コミット883247c、 2017年5月16日)artagnon
gitster
clone
:空の構成値を処理する-c
" git clone --config
"は、既存の値を置き換える代わりに、次の呪文を使用して構成ファイルに項目を追加します。
git_config_set_multivar_gently(key, value, "^$", 0)
正規表現に一致する既存の値がない限り^$
、それは意図したとおりに機能し、構成に追加されます。ただし、値が空の場合は、既存の値が置き換えられます。
クローン中に、およびcredential.helper
を継承せずに特定のヘルパーを使用するように設定しようとしているときに気づきました。
つまり、私は実行しました:~/.gitconfig
/etc/gitconfig
git clone -c credential.helper= \
-c credential.helper=myhelper \
https://example.com/repo
構成を作成する予定:
[credential]
helper =
helper = myhelper
このパッチがないと、' helper =
'行は含まれず、のクレデンシャルヘルパー/etc/gitconfig
が使用されます。
commit 515360fを使用すると、ドキュメントがより明確になることに注意してください。
クレデンシャルドキュメント:複数のヘルパーの動作をより目立たせる
Gitの構成システムは、複数の構成ファイルを一般的なものから特定のものへと順番に読み取ることで機能します。
- まず、システム構成
/etc/gitconfig
- 次に、ユーザーの構成(
~/.gitconfig
または~/.config/git/config
)
- 次に、リポジトリ構成(
.git/config
)
単一値の構成アイテムの場合、最新の値が優先されます。
複数値の構成アイテムの場合、値はこの順序で累積されます。
たとえば、これにより、~/.gitconfig
gitが別のヘルパーを追加で提供するかどうかに関係なく、すべてのリポジトリで使用しようとするクレデンシャルヘルパーをグローバルに設定できます。
これは通常、すばらしいことです。たとえば、ヘルパーをインストールしてOSキーチェーンを使用し、グローバルに短期間クレデンシャルをキャッシュできます。
継承された設定を上書きできるようにしたい場合があります。
設定の場合credential.helper
、これは、新しい値を指定する前に構成アイテムを空に設定することによって行われます。