31

我试图在新 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/'

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

4

5 回答 5

64

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

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

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

于 2020-12-11T13:59:19.933 回答
14

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

于 2020-12-01T12:44:53.917 回答
11

marpo-it 's answergit.terminalAuthentication中所述,可以取消选中该设置(自 VSCode 1.45 起

环境

这将避免这种情况,git push例如,对于在集成终端中调用的 Git 命令,您将自动针对您的 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 事件有关


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

如果您使用 JSON 设置文件,请在其中插入以下行:

git.terminalAuthentication: false,
于 2020-07-13T06:10:42.580 回答
10

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

于 2021-03-30T09:47:50.783 回答
-1

如果您使用的是WSL,请检查您的发行版是否正在运行。对我来说,我的 vscode 正在运行,但 WSL 发行版没有。

重新启动 WSL 发行版解决了该问题。

于 2022-01-26T05:18:50.850 回答