【问题标题】:Re-enable Visual Studio Code GitHub authentication重新启用 Visual Studio Code GitHub 身份验证
【发布时间】:2021-12-25 11:49:55
【问题描述】:

我完全没有想到的原因,Visual Studio Code 内置 Git SCM 停止工作,只返回身份验证失败,不仅在 Visual Studio Code 中,而且在终端中。

奇怪的是,昨晚它工作正常。只是想知道今天它不再起作用了。

  • 我使用Ubuntu 21.04 (Hirsute Hippo),并在 GitHub 中启用了双因素身份验证。
  • 我尝试创建个人访问令牌,但我找不到任何地方可以将它放在 Visual Studio Code 中的 Git SCM 以在所有存储库中正常工作而不会暴露它。

我的意思是 Visual Studio Code Git SCM 停止工作:

  • 无法使用 Visual Studio Code 中的内置 Git 扩展拉/推到远程存储库
  • 无法为私有存储库发出 clone 命令

如何在不使用电子邮件和密码或在远程 URL 路径 as specified here 之前附加访问令牌的情况下重新启用扩展功能?

PS:我启用了 GitHub Copilot Git 扩展,并且它在 Git 中正确验证(正常工作)

【问题讨论】:

  • 1.你的意思是哪个“VSCode git-scm”插件? (有数百个) 2. git 或 github ? (需要更多细节)
  • @xerx593 1. 请记住我刚刚指出它是 VSCode 中的“BUILT-IN”。 2.giti 验证 GitHub 失败,还是我漏了什么?
  • Re "returning authentication failed":完整的错误信息是什么?例如,它是否包括“远程:无匿名写访问。”?请通过editing (changing) your question 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 问题应该看起来好像是今天写的)。
  • 这是一个超级FAQ(因为它影响了很多人)。规范问题的候选者是 fatal: Authentication failed for(尽管标题不明确)。

标签: git github visual-studio-code


【解决方案1】:

首先检查你的远程 URL 是否是 HTTPS 的(在命令行中:一旦在那里工作,你可以切换回 VSCode):

cd /path/to/repo
git remote -v

如果是 HTTPS,请检查使用什么凭据帮助程序来缓存您的凭据。旧密码可能被缓存,不再有效,因为现在只允许使用 PAT (Personnal Access Token)(在 Aug. 2021 policy change 之后)。

git config --global credential.helper
xxx
printf "host=github.com\nprotocol=https" | git-credential-xxx get

(用git config --global credential.helper的输出替换xxx)

如果这是错误的“密码”(即不是您当前的令牌),请删除旧密码并存储新密码。

printf "host=github.com\nprotocol=https" | git-credential-xxx erase
printf "host=github.com\nprotocol=https\nusername=MyGitHubUserAccount\npassword=yyy" | git-credential-xxx store

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多