无法推送到github

时间:2012-10-04 15:27:13

标签: git github

我正在尝试将一个分支(名为“grails-1.3”)推送到我的github仓库。这是正在发生的事情

> git push origin grails-1.3
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

这是我第一次尝试推送我的git repo,所以我想我没有正确的用户名/密码/ SSH设置。我的.git/config文件包含以下内容:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://git@github.com/domurtag/airbrake-grails.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

更新

我查看了GitHub帐户的“SSH密钥”部分,并说:

  

没有可以访问您帐户的SSH密钥。

3 个答案:

答案 0 :(得分:2)

你有没有配置SSH github使用你的公共RSA密钥?你有RSA密钥吗?看看这里的中途:

https://help.github.com/articles/error-permission-denied-publickey

如果你使用像Eclipse这样的IDE,你可以通过Preferences-> General-> Network Connections-> SSH2来创建密钥。在那里,您可以看到密钥在本地存储的位置,在“密钥管理”选项卡下,您可以创建新密钥。生成新密钥后,将密钥文本按原样复制到您的github帐户(Github->帐户设置 - > SSH密钥)。

这一切都来自命令行:

https://help.github.com/articles/generating-ssh-keys

答案 1 :(得分:2)

您必须生成一个rsa密钥对:

ssh-keygen -t rsa

然后在github上注册你公钥的指纹。

答案 2 :(得分:1)

如果您在Windows(或MacOS,但我自己没有尝试过),我强烈建议您安装官方GitHub客户端,即使您打算坚持使用命令行。

客户端正确设置所有内容,如SSH密钥和repo的初始克隆。它还带有一个很好的shell集成,因此你可以直接在shell上看到一些文件是否过时等等。