web-dev-qa-db-ja.com

Visual Studioコードは常にgit資格情報を要求します

私は Visual Studio Code を使い始めました。そして、私のテストプロジェクトを GitHubに保存しようとしていました しかし、 Visual Studioのコード はいつも私の GitHub を要求しています。 ) 資格情報。

私は私のPCにインストールしました GitHubデスクトップ そしてまた Git 、私はすでに走った:

 git config --global credential.helper wincred

それでも Visual Studio Code が資格情報を要求しています。

何か手助け?

ユーザープロファイルのフォルダにあるmy。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

これは、資格情報を要求するポップアップウィンドウです。

enter image description here

ポップアップに自分の GitHub 資格情報を入力しましたが、それでもGit出力ウィンドウにこのエラーが表示されます。 Visual Studioコード

remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
142
ddieppa

最終更新日@ 19 3月5日

98回の投票の後、説明付きで真の答えを出す必要があると思います。

なぜVSコードはパスワードを尋ねますか? VSCodeは自動取得機能を実行しますが、gitサーバーはあなたの身元を認証するための情報を持っていません。次の場合に起こります。

  • あなたのgitリポジトリにはhttpsリモートURLがあります。はい!この種のリモコンは絶対に毎回あなたに尋ねます。ここも例外ではありません。下記の解決策として承認をキャッシュするために一時的なトリックをすることができますが、お勧めできません。
  • あなたのgitリポジトリにはsslリモートURLがあります、しかしあなたはあなたのssh公開鍵をgitサーバにコピーしていません。キーを生成してgitサーバーにコピーするには、ssh-keygenを使用します。完了しました。この解決策はまたあなたが再び端末上でパスワードを再入力しないのを助けます。答えは@Fnatical here のよい指示を見てください。

この回答の最後にある更新された部分はまったく役に立ちません。それ以外の場合は、ワークフローが停滞します。それはVSCodeで起こっていることを止めるだけで、このことを端末で起こさせます。

この悪い答えが長い間あなたに影響を与えてきたのであれば申し訳ありません。

-

元の答え(悪い)

VSCodeドキュメント に解決策が見つかりました。

ヒント: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)

更新

私はVS Codeとconfigを同じにインストールしましたが、@ ddieppaが言ったように、それは私にはうまくいきませんでした。だから私はユーザー設定でオプションを見つけようとしました、そして私は "git.autofetch" = trueを見ました。 VS Codeは、パスワードを繰り返し入力する必要がなくなりました。

メニューの[ファイル] - [設定] - [ユーザー設定]をクリックして、次のように入力します。

このファイルに設定を保存してデフォルト設定を上書きします。

{
  "git.autofetch": false
}
113
Davuz

あなたはこのようにあなたの資格情報を設定することができるはずです:

git remote set-url Origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git

あなたはこのようなリモートURLを得ることができます:

git config --get remote.Origin.url

43
yohosuff

Windows用Git認証情報マネージャ 」(および 認証情報マネージャを設定するための次の手順をインストールしてください )。

Gitを使用してアプリ内で必要な場合(VSコードなど)、「 魔法のように 」、Visual Studio Team Servicesの資格情報の入力に必要なダイアログが開きます。

19
Reddog

私がしなければならなかったのは、このコマンドを実行することだけでした:

git config --global credential.helper wincred

それから私はパスワードを二度求められました。

次回はパスワードの入力を求めずに動作しました。

14
GoTo

Http/httpsの代わりにsshを使用してください。

あなたはあなたのローカルマシンにsshキーをセットし、あなたのgitサーバにそれらをアップロードしそしてhttp://にurlフォームをgit://に置き換える必要があるでしょう、そしてあなたはもうパスワードを使う必要はないでしょう。

Sshを使うことができない場合は、これを設定に追加してください。

[credential "https://example.com"]
    username = me

書類はこちら です


Githubでsshキーを使う


これらの手順に従うだけで、すぐにsshキーを設定できます。

  • 新しいsshキーを生成します(または既にキーを持っている場合はこのステップを飛ばしてください)
    ssh-keygen -t rsa -C "your@email"

  • キーをhome/.sshディレクトリ(またはWindowsの場合はUsers/<your user>.ssh)に設定したら、それを開き、コンテンツをコピーします。


Githubアカウントにshキーを追加するにはどうすればいいですか?

  • Githubアカウントにログイン
  • 右上の牧場主をクリックしてください(設定)
    github account settigns
  • SSH keysをクリックしてください
    ssh key section
  • Add ssh keyをクリックしてください
    Add ssh key
  • キーを貼り付けて保存

そして、あなたは全員行きます:-)

11
CodeWizard

次の手順では、方法について説明します。

  1. SSHキーを生成する(パスフレーズなし)**
  2. 手順1で生成した公開鍵をGitリポジトリに追加します
  3. 上記のステップが正常に完了したことを確認してください
  4. あなたの最初のコミットをする

**パスフレーズなしでSSH鍵を生成することは、あなたの仕事が特に敏感であるならば賢明ではありません。

OS - Fedora 28 | エディタ - VSコードv1.23.0 | リポジトリ - Git

SSH鍵を生成します。

  • ssh-keygen -t rsa -C "[email protected]"
  • キーを保存するファイルを入力します:Enterキーを押します
  • パスフレーズを入力します:Enterキーを押します
  • 同じパスフレーズをもう一度入力します:Enterキーを押します

上記の手順を完了すると、公開鍵の場所がターミナルウィンドウに表示されます。現在ログインしているユーザーが「bob」の場合、あなたの公開鍵の場所は/ home/bob/.ssh/id_rsa.pubになります。

公開鍵をGitHubにコピーしてインポートします。

  • cat /home/bob/.ssh/id_rsa.pub

  • 端末ウィンドウに表示されている公開鍵全体をクリップボードにコピーします。

  • https://github.com にアクセスしてログインします。
  • 画面の右上隅にあるユーザーアイコンをクリックして、設定を選択します。
  • SSHキーとGPGキーをクリック
  • クリック新しいSSHキー
  • タイトルを入力して、クリップボードにコピーした公開鍵を最初の箇条書きに貼り付け、[SSH鍵を追加]をクリックします。

上記の手順を確認してください。

  • ssh -T [email protected]

  • yes

  • こんにちは!あなたは認証に成功しましたが、GitHubはシェルアクセスを提供しません。

最初のコミット/ユーザー名/パスワードを入力せずにプッシュする: - touch test.txt

  • git add test.txt

  • git commit - エディタを開き、メッセージを入力してファイルを保存します。 viがエディターの場合は、ファイルが開いたらiを押してメッセージを入力し、escを押してから:xを入力して変更を保存します。

  • git Push

GitHubにSSHで接続しようとしたときに遭遇する可能性がある唯一の問題はありません。このリンクはいくつかの援助を提供します -

ハッピーハンティング!

6
Fnatical

それに続く 記事

GIT_SSH envを設定するだけです。 VAR。 PuTTYのplink.exeプログラムへ。 (その後、認証エージェントとしてpageant.exeを使用します)

1
Paul Paku

Windows 10の場合:コントロールパネル/資格情報マネージャー/ Windows資格情報に移動します-> gitリンクをクリックし、->編集->新しいパスワードに更新します。うまくいくはず

1
Meera

しばらくの間このようなものと戦った後、私は特にGitHubとBitBucketの両方にまたがって複数のアカウントを持つとき、私は良い解決策を思いついたと思います。しかしVSCodeの場合、最終的にGit Bash端末から起動することになり、bashセッションから環境変数を継承し、どのssh-agentを調べるべきかがわかりました。

私はこれが古い投稿であることを認識していますが、私はまだ必要な情報を入手するための場所を1つ見つけるのに本当に苦労していました。さらに2017年以降、ssh-agentはリポジトリにアクセスしようとしたときにだけパスフレーズの入力を促すことができました。

誰かが興味を持っているなら、私はここに私の調査結果を置きます:

1
ScubaManDan

パスフレーズなしでSSHキーを使用してください。

たぶん、これは一部の人には明白です(私にとってはそうではありませんでした)。パスフレーズが絶対に必要な場合も問題は解決されませんが、これはMacでの私の状況ではかなりの妥協点でした。

1
adampfoster

私は簡単な方法で同様の問題を解決しました:

  1. CMDまたはターミナルへ
  2. git pull Origin masterと入力します。 'Origin'をあなたのリモートネームに置き換えてください。
  3. 資格情報を要求します。それを入力する。

それで全部です。私は問題を解決しました

0
Avinash

私にとってはSSHキーを使ってリモートレポジトリを設定しましたが、私の会社のドメインポリシーによりHOMEDRIVE環境変数が自動的にネットワーク共有に設定されていたため、gitはそれらを見つけることができませんでした。 code .を起動する前に自分のシェルでその環境変数を変更すると、VSCodeが正しい環境変数を継承し、git出力ウィンドウで接続エラーが発生しなくなりました。

今私はちょうどHOMEDRIVEが常にc:\users\marvhenディレクトリのデフォルトの場所である私のローカル.sshディレクトリを指しているようにドメインポリシーを上書きする方法を考え出す必要があります。

0
marvhen

以下の手順で問題を解決してください。

アンインストールされたソフトウェアVscodeとgitそして同じものを再インストールしました。 gitリポジトリのクローンのURLをsshからhttpsに変更しました。

0
Sundar

私は次のステップを実行することによってこれを止めることができた。

  1. Git Desktopをアンインストールします(これが必要かどうかわからない)
  2. Credentials Manager cd "C:\Program Files\Git\mingw64\libexec\git-core"、続いてgit-credential-manager.exe uninstallをアンインストールします。
  3. 資格情報ヘルパーをリセットしてwincred git config --global credential.helper wincredを使用する
  4. 変更をプッシュして資格情報を再入力するためのユーザーVSコード。

注:パスワードとしてパーソナルアクセストークンを使用していました。

0
Mick