Git 推送:缺少凭据或凭据无效。致命:“https://github.com/username/repo.git”的身份验证失败

thi*_*edu 18 git github visual-studio-code

我试图在新 MacBook 上进行第一次推送,但之后出现此错误git push(在我的旧 MacBook 上一切正常):

Missing or invalid credentials.
Error: connect ECONNREFUSED /var/folders/tx/53fffl0j51qb47mhnlf8zsdc0000gn/T/vscode-git-1d38026c7f.sock
    at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1056:14) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '/var/folders/tx/53fffl0j51qb47mhnlf8zsdc0000gn/T/vscode-git-1d38026c7f.sock'
}
Missing or invalid credentials.
Error: connect ECONNREFUSED /var/folders/tx/53fffl0j51qb47mhnlf8zsdc0000gn/T/vscode-git-1d38026c7f.sock
    at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1056:14) {
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '/var/folders/tx/53fffl0j51qb47mhnlf8zsdc0000gn/T/vscode-git-1d38026c7f.sock'
}
remote: No anonymous write access.
fatal: Authentication failed for 'https://github.com/username/repo.git/'
Run Code Online (Sandbox Code Playgroud)

知道为什么以及如何解决它吗?

Bry*_*yan 38

重新加载 VSCode 窗口(shift- control-P打开命令面板,然后找到Developer: Reload Window并按Enter)为我解决了这个问题。

  • 在尝试重新加载窗口之前,请尝试从新终端运行命令。 (6认同)

小智 35

您正在尝试从 vscode 中的终端使用 git。问题来自 vscode 的身份验证处理程序。解决问题:

  • 打开 vscode 文件 > 首选项 > 设置
  • 搜索git.terminalAuthentication
  • 取消选中该选项

您必须重新打开终端才能使其工作。

  • **尝试从新终端运行命令**,如果它之前正在运行并停止,这可能会起作用。我已重命名原始存储库并使用旧的原始名称创建新的存储库,以便我可以将代码推送到与原始名称相同的空存储库。它给出了类似的错误,所以我只是尝试从新终端运行 `git push -u origin [branchname]` 并且它有效:) (7认同)
  • 对于我的版本,它位于“vscode/首选项/设置”下;在我的主机设置下:extensions / git /终端身份验证' (3认同)

小智 10

如果您使用的是 linux,只需sudo在命令前添加。否则,您必须向命令添加管理前缀。


Von*_*onC 8

正如在marpo-it回答中提到的,git.terminalAuthentication可以取消选中该设置(自 VSCode 1.45 起

环境

这将避免这种情况,对于在集成终端中调用的 Git 命令git push,例如,您将自动通过您的 GitHub 帐户进行身份验证。


原答案:

我已经使用 git config user.name "your username" 和 git config user.password "your password" 设置了凭据,并且可以通过运行看到这些git config --list,我在这里错过了什么?

这些不是“凭证”:它们不会帮助您验证GitHub 等远程服务的身份

对于 HTTPS URLS ( https://github.com/<me>/<myRepo>),您需要:

在那里您将输入您的实际凭据:

  • 您的 GitHub 用户帐户名称
  • 您的 GitHub 用户帐户密码(如果您已激活 2FA,则为PAT

但是如果今天这个问题消失了,那么这与这个 GitHub 事件有关


Andreas L在评论中还提到,尝试从集成的 VS Code 终端进行身份验证可能很棘手。
如“git push origin master缺少或无效的凭据”中所述,这里

如果您使用 JSON-settings 文件,请将以下行插入其中:

git.terminalAuthentication: false,
Run Code Online (Sandbox Code Playgroud)