使い始めましたビジュアルスタジオコード、そして私はテストプロジェクトを保存しようとしていましたGitHubしかし、Visual Studio Code は常に GitHub の資格情報を要求します。
私は自分のPCにインストールしましたGitHub デスクトップそしてまたギットすでに実行しました:
git config --global credential.helper wincred
しかし、Visual Studio Code は依然として資格情報を要求します。
これをどうすれば修正できますか?
以下は、ユーザー プロファイル フォルダーにある.gitconfigファイルです。
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = ddieppa
[user]
email = [email protected]
[credential]
helper = wincred
資格情報を要求するポップアップ ウィンドウは次のとおりです。
ポップアップに GitHub の資格情報を入力しましたが、Visual Studio Code の Git 出力ウィンドウに次のエラーが表示されます。
remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
ベストアンサー1
Visual Studio Code がパスワードを要求するのはなぜでしょうか? Visual Studio Code は自動フェッチ機能を実行しますが、Git サーバーには ID を認証するための情報がないからです。これは次の場合に発生します:
- Git リポジトリには
https
リモート URL があります。はい! この種のリモートでは、必ず毎回尋ねられます。例外はありません! (以下の解決策として、認証をキャッシュする一時的なトリックを実行することもできますが、これはお勧めしません。) - Git リポジトリには
ssh
リモート URLがありますが、 SSH 公開キーを Git サーバーにコピーしていません。 を使用してssh-keygen
キーを生成し、それを Git サーバーにコピーします。完了です。このソリューションにより、ターミナルでパスワードを再入力する必要がなくなります。@Fnatical による優れた説明を参照してください。ここ答えをお願いします。
この回答の最後にある更新された部分は、実際にはまったく役に立ちません。(実際にはワークフローが停滞します。) Visual Studio Code で発生している処理を停止し、これらの処理をターミナルに移動するだけです。
この不適切な回答が長い間あなたに影響を及ぼしていたら申し訳ありません。
元の回答(悪い)
解決策はVisual Studio Code ドキュメント:
ヒント:資格情報ヘルパーを設定するVS Code が Git リモートと通信するたびに認証情報を求められないようにするためです。これを行わない場合は、表示されるプロンプトの数を減らすために、... メニューで自動フェッチを無効にすることを検討してください。
したがって、資格情報ヘルパーをオンにして、Git がパスワードをメモリ内に一定期間保存できるようにします。デフォルトでは、Git はパスワードを 15 分間キャッシュします。
ターミナルで次のように入力します。
git config --global credential.helper cache
# Set Git to use the credential memory cache
デフォルトのパスワード キャッシュ タイムアウトを変更するには、次のように入力します。
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
元の答えがうまくいかない場合
Visual Studio Code をインストールし、上記と同じように設定しましたが、@ddieppa が言ったように、私もうまくいきませんでした。そこで、ユーザー設定でオプションを探してみたところ、「git.autofetch」が true だったので、false に設定しました。Visual Studio Code では、パスワードを繰り返し入力する必要がなくなりました。
メニューのファイル→設定→ユーザー設定で以下を入力します。
デフォルト設定を上書きするには、このファイルに設定を配置します。
{
"git.autofetch": false
}