错误:git-credential-osxkeychain因信号11而死亡

29

我已经安装了 Github 版本 0.8.4,但是当我尝试从 Git 中获取东西时,它显示了这个消息。

Fetching all tracking branches from Queue-iOS completed successfully.

command: git fetch Queue-iOS

error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
From https://github.com/appstute/Queue-iOS
   59bb075..b2da838  master     -> Queue-iOS/master

这是一个关于钥匙串的问题, 当我尝试从GitHub拉取代码时,会显示以下消息

Pulling all tracking branches from Queue-iOS encountered an error.

command: git pull Queue-iOS

error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
You asked to pull from the remote 'Queue-iOS', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.

error = 1

这里的 Queue-iOS 是我在 Git 上配置的本地文件夹,请帮忙。


1
这篇文章为我解决了问题。请参考:https://help.github.com/articles/set-up-git - Rosseyn
7个回答

39

我使用的是Mac OS X 10.7.5,最近下载了适用于Mac的git 1.8.1.2。 安装后,在运行以下命令时遇到了相同的“信号11”错误消息:

$git credential-osxkeychain

进而运行:

/usr/local/git/bin/git-credential-osxkeychain

信号11是SEGFAULT,可能表明带有git-credential-osxkeychain程序的错误(例如,取消引用空指针)。

我按照在Git中缓存您的GitHub密码上的说明,并从S3获取了新的git-credential-osxkeychain副本。这解决了问题。新副本的大小不同,这使我猜测该漏洞已得到修复。

同时,我认为在配置文件中使用像git@github.com:yang3wei/octopress-3-in-one这样的URL也可以解决此问题,因为它绕过HTTPS并改为使用SSH,此时不再调用密钥链助手。


对我有用 - 我也怀疑我使用的 git-credential-osxkeychain 版本存在一个 bug。 - Steve Bennett

8
这个错误信息是由git 凭证助手引起的。这是git避免在每次提交时询问您的用户名和密码的一种方式(请参阅此处)。
我不知道它为什么会出错,但是,如果你想停止使用它(并避免看到错误消息),请删除系统gitconfig文件。
在我的系统上(OSX 10.6.8),我用以下命令做到了:sudo rm /usr/local/git/etc/gitconfig,因为该文件中唯一的设置是凭证助手。首先检查你的配置文件!
由于你收到了两条错误消息,你可能还在自己的~/.gitconfig文件甚至是项目的文件中设置了凭证助手。编辑这些文件并删除凭证助手块。
正如你所注意到的,凭证助手的问题不会影响git工作。下一步是找出凭证助手失败的原因!

1
通过 sudo rm /usr/local/git/etc/gitconfig 删除后,这个问题就解决了。正如 OP 所述,请确保您的配置文件只包含凭据助手。 - NotJustClarkKent
我安装了Git SVN,然后出现了这种情况,删除那个文件解决了问题。 - Alper Akture

6

我知道了!尝试修改项目根目录下的.git/config文件。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    url = https://github.com/yang3wei/octopress-3-in-one.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

To:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    url = git@github.com:yang3wei/octopress-3-in-one
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

对于任何阅读此答案的人来说,这是100%正确的答案,特别是对于像OS X 10.6.8这样的旧安装。凭据被git引擎错误地提供给github,因为它们被git工具设置错误,上面的更正解决了这个问题。您需要为每个项目单独执行此操作,因为配置文件针对该项目是特定的。谢谢,yang3wei! - fyngyrz
确认,同样在OS X 10.6.8下。(谢谢。) - Daniel Griscom

1
我是使用Mac上的SourceTree,遇到了同样的问题。
首先,我在终端中输入了以下命令:
curl -s -O \
https://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
chmod u+x git-credential-osxkeychain
sudo mv git-credential-osxkeychain \
"$(dirname $(which git))/git-credential-osxkeychain"
git config --global credential.helper osxkeychain

然后我需要在SourceTree中切换到系统Git:

SourceTree > Preferences > Git > Use System Git


1
我在升级后尝试使用git版本1.8.1.3时遇到以下错误: git-credential-osxkeychain因信号11而死亡 当我执行git pull时,会出现以下错误: fatal: https://github.com/.../../info/refs?service=git-upload-pack未找到:您是否在服务器上运行git update-server-info? 我猜测这可能与我的先前在钥匙串中无效的GitHub凭据有关。
  • 使用Command空格打开钥匙串访问工具
  • 在钥匙串访问工具中搜索GitHub
  • 删除所有与GitHub相关的条目(因为我不再需要它)
  • 重新按照设置git密码缓存部分进行设置
  • 成功了

1

不知怎么的,我解决了这个问题,现在如果我从Github上拉取或推送内容,密钥链错误消息不会出现。我使用了以下链接下载git文件,在该文件中上述问题没有发生。 我还从应用程序中删除了现有的git文件,并从头开始做了一切。 我不知道钥匙链问题是否内部解决,但我的问题暂时解决了。谢谢大家的建议。http://mac.github.com - Suraj K Thomas

1

我曾遇到与git相关的问题,错误信息为:git-credential-osxkeychain因信号11而中断

由于您需要每次验证才能进行推送或拉取,因此不使用http克隆存储库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接