git push origin赋予refspec的远程部分不是有效名称

时间:2012-08-14 03:13:29

标签: git

我已经使用我的GitHub帐户创建了一个远程仓库 https://github.com/darKoram/sphero_tracker.git。到目前为止,它只包含一些维基页面,但我已准备好上传我的代码。

我用

git push origin git@github.com:/darkoram/shpero_tracker.git

我也试过

git push origin https://github.com/darKoram/sphero_tracker.git

我得到的两次

  

refspec的远程部分不是https://github.com/darKoram/sphero_tracker.git

中的有效名称

我之前没有遇到任何问题。只是不知道我在这里做错了什么。


我进一步了。按照马歇尔的说明和下面的generate-ssh-keys链接,但仍然得到

git push -u origin master 错误:未找到存储库。 致命:远程端意外挂断

我已经确定我的ssh密钥很好并且通过将我的id_rsa.pub中的内容添加到我的github(它说密钥已经存在)来验证它们存在于github上。

$ ssh -T git@github.com 嗨darKoram!您已成功通过身份验证,但GitHub不提供shell访问权限。

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

ssh -T -p 443 git@ssh.github.com 主机'[ssh.github.com]:443([207.97.227.248]:443)'的真实性无法建立。 RSA密钥指纹是16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48。 您确定要继续连接(是/否)吗?是 警告:永久性地将“[ssh.github.com]:443,[207.97.227.248]:443'(RSA)添加到已知主机列表中。 嗨darKoram!您已成功通过身份验证,但GitHub不提供shell访问权限

git remote -v 来源git@github.com:darKoram / shpero_tracker.git(获取) 来源git@github.com:darKoram / shpero_tracker.git(推)

但回购肯定存在 http://www.pasteall.org/pic/show.php?id=36560

7 个答案:

答案 0 :(得分:11)

为什么不关注instructions GitHub gives you

git remote add origin git@github.com:darkoram/shpero_tracker.git
git push -u origin master

您发出的命令是“推送名为origin的名为git@github.com:/darkoram/shpero_tracker.git的分支的远程仓库”,这显然不正确。

答案 1 :(得分:6)

原始海报的原始问题是:

  

我用

git push origin git@github.com:/darkoram/shpero_tracker.git
     

我也试过

git push origin https://github.com/darKoram/sphero_tracker.git
     

我得到的两次

     
    

refspec的远程部分不是https://github.com/darKoram/sphero_tracker.git

中的有效名称   

错误指的是您没有使用有效的refspec。 refspec采用以下形式([]中的项目是可选项,<>中的项目是参数):

[+]<source>[:<destination>]

在上面的格式中,源和目标都是引用,Git中的分支是引用,因此您可以使用分支作为refspecs。例如,以下是有效和等效的refspecs:

master
master:master

将两个refspec与git push

一起使用
git push origin master
git push origin master:master

会将本地分支master推送到远程master上名为origin的分支。

您的问题

您使用了

git push origin git@github.com:/darkoram/shpero_tracker.git

git@github.com:/darkoram/shpero_tracker.git不是vaid引用/分支,它是远程仓库的URL。这可能就是Git抱怨refspec无效的原因。

推送分支的正确方法是

git push origin <branch>

另见

答案 2 :(得分:3)

  

我用

     

git push origin git@github.com:/darkoram/shpero_tracker.git

     

我也试过

     

git push origin https://github.com/darKoram/sphero_tracker.git

     

我得到的两次

     

refspec的远程部分不是&gt; https://github.com/darKoram/sphero_tracker.git

中的有效名称

解决方案是将分支名称放在git命令的末尾:

git push https://github.com/darKoram/sphero_tracker.git master

答案 3 :(得分:2)

请考虑您用于这些远程地址的大小写(大写,小写):

git remote add origin git@github.com:darKoram/shpero_tracker.git
# NOT:
git remote add origin git@github.com:darkoram/shpero_tracker.git # won't work
#                                      ^^^
#                                       |

请参阅:

答案 4 :(得分:2)

最后,我能够连接,但在尝试时 git push origin master尽管如此,我还是得到了“快进”的错误 事实上,我的repo只使用默认的Readme.md创建。 我尝试了手册页中的建议,但最后,当我的dev文件夹 被推到github文件夹显示为绿色,无法打开。 git pull --rebase我也以某种方式从我的本地git中排除了我的dev文件 回购,我发现无法将它们添加回来。

最后,我不得不创建一个新的github仓库和一个新的本地仓库。这个过程的关键是 第3步,在尝试推送之前拉出几乎空的(Readme.md除外)回购。

  1. 创建github repo
  2. git add remote origin(https:// ... github页面窗口中的url)
  3. git clone origin master
  4. 创建本地回购;加;提交;
  5. git push origin
  6. 我想如果我不接受为repo创建自述文件的对话框提供3将是不必要的,但我很奇怪这个默认选项破坏了简单的repo创建过程,正如许多教程中详细阐述的那样。主题。

答案 5 :(得分:0)

我今天遇到了类似的问题。 FWIW,这解决了它:

git fetch后跟git pull origin mybranch(回复:“已经是最新的”)

然后git push origin mybranch

我怀疑可能需要获取与上游父分支相关的内容(?)。如果其他人可以解释为什么修复它,我会全力以赴。

答案 6 :(得分:0)

在我的情况下,我也遇到了同样的错误。

  

致命:refspec的远程部分不是https://github.com/username/repo.git

中的有效名称

首先我认为这是由于更改了用户名(因为我最近在github上更改了我的用户名),但这不是问题。

当我尝试 git fetch然后git pull 但却遇到同样的错误。

At Last刚刚解决了

git push origin master 

没有想法,但这有效。