GitHub for Mac错误:git:'credential-osxkeychain'不是git命令

Kil*_*bbs 21 github-for-mac

使用GitHub for Mac应用程序(版本87)时,我收到以下错误:

git:'credential-osxkeychain'不是git命令.见'git --help'.

错误:请求的URL返回错误:403访问https://github.com/[PROJECT URL]/info/refs

致命:HTTP请求失败(256)

git命令行工具(版本1.8.0)安装在,/usr/local/git/bin并且git-credential-osxkeychain已正确安装在/usr/local/git/bin.

我该如何解决这个错误?

小智 17

在此处输入图片说明

当我尝试运行此命令时,没有错误

brew untap homebrew/homebrew-dupes
Run Code Online (Sandbox Code Playgroud)


kan*_*kyu 13

git: 'credential-osxkeychain' is not a git command. See 'git --help'. 在我升级 git 后,此错误消息消失了,

brew upgrade git

==> Upgrading 1 outdated package:
git 2.11.1 -> 2.21.0
Run Code Online (Sandbox Code Playgroud)


Kil*_*bbs 12

这个问题的根源是GitHub for Mac使用与命令行工具不同的可执行文件的目录路径.

适用于Mac的GitHub: /Applications/GitHub.app/Contents/Resources/git/bin

命令行工具:/usr/local/git/bin /

因此,当GitHub for Mac尝试同步分支时,它会出现错误,因为它无法找到git-credential-osxkeychain可执行文件.

解决问题:

  1. 启动终端
  2. 从命令行工具DirGitHub为Mac Dir创建git-credential-osxkeychain的符号链接

ln -s <git-command-line-tools dir path>/git-credential-osxkeychain <github for mac path>/git-credential-osxkeychain

这是我在我的系统上使用的命令:

ln -s /usr/local/git/bin/git-credential-osxkeychain /Applications/GitHub.app/Contents/Resources/git/bin/git-credential-osxkeychain

  • Atlassian的`SourceTree`应用程序遇到了同样的问题 - 底层问题是一样的.通过选择`SourceTree> Preferences> Git`,`Use System Git`,我可以通过从`SourceTree`的嵌入式git切换到全局安装的git来解决这个问题 - 这恰好是最近的.另请注意,Github for Mac现在允许您向相反的方向发展:您可以通过`Preferences`选择将其嵌入式git版本作为全局安装版本. (4认同)
  • 该解决方案对SourceTree的工作原理相同,只有链接的目标变为`/ Applications/SourceTree.app/Contents/Resources/git_local/bin`当前版本的Mac git客户端包括`git-credential-osxkeychain`,所以+ 1用于指向`Use System Git`首选项.这可能是它应该为SourceTree用户完成的方式.否则,如果/当git更新而SourceTree没有时,`git-credential-osxkeychain`将与SourceTree将使用的其余git可执行文件版本不匹配. (2认同)

Ahm*_*ain 6

这总是发生在源树应用程序和解决方案中,您更改设置以使用系统 git 而不是带有源树的嵌入式 git,因为源树使用的是旧版本,或者您可以使用 git 可执行文件的路径更新设置,然后您应该在 /usr/bin/git 中找到它,或者您可以打印哪个 git 并指向您的源树应用程序以使用它


iSo*_*fia 6

为了其他人的利益,这为我解决了问题。

Fork > 首选项 > Git > Git 实例中:选择系统版本而不是 Fork 实例。

https://github.com/fork-dev/Tracker/issues/1397#issuecomment-971524707


小智 5

http://backlogtool.com/git-guide/cn/reference/trouble-shooting.html

如果你是windows,每次执行push/pull时HTTPS都需要密码,只是第一次

但在 Mac 中,您可以使用与钥匙串相连的身份验证助手。使用 Homebrew 的用户在安装 Git 时会自动安装身份验证助手。此外,您需要手动安装。

如果要验证是否有安装认证助手,可以使用以下命令进行确认。

git credential-osxkeychain

如果未安装认证助手,则显示如下内容。

git: 'credential-osxkeychain' is not a git command. See 'git --help'.

此时,您可以将身份验证助手下载到正确的路径。

  1. curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
  2. chmod u+x git-credential-osxkeychain
  3. mv git-credential-osxkeychain /usr/local/bin

安装完成后,设置开启认证助手。

  1. git config --global credential.helper osxkeychain


小智 5

如果您在使用时遇到此问题brew update,请尝试

brew update --debug --verbose
Run Code Online (Sandbox Code Playgroud)

您可以查看详细日志,找到真正的原因。