16

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

我用

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中不是有效名称

我以前推过没有问题。只是不知道我在这里做错了什么。


我走得更远了。按照 marshall 的说明和下面的 generation-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) 永久添加到已知主机列表中。嗨达科拉姆!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限

git remote -v origin git@github.com:darKoram/shpero_tracker.git (fetch) origin git@github.com:darKoram/shpero_tracker.git (push)

但回购当然似乎存在 http://www.pasteall.org/pic/show.php?id=36560

4

7 回答 7

13

为什么不按照GitHub 给您的说明进行操作?

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

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

于 2012-08-14T03:19:46.870 回答
7

原始海报的原始问题说:

我用

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 采用以下形式(in 中的项目[]是可选的,in 中的项目<>是参数):

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

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

master
master:master

使用两个 refspecs git push

git push origin master
git push origin master:master

都会将本地分支推送到远程master命名的分支。masterorigin

你的问题

你用过

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

git@github.com:/darkoram/shpero_tracker.git不是一个空的参考/分支,它是你的远程仓库的 URL。这可能就是 Git 抱怨 refspec 无效的原因。

推送分支的正确方法是

git push origin <branch>

也可以看看

于 2014-05-28T00:30:02.123 回答
4

我用

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

我也试过

git 推送来源https://github.com/darKoram/sphero_tracker.git

两次我都得到

refspec 的远程部分在 > https://github.com/darKoram/sphero_tracker.git中不是有效名称

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

git push https://github.com/darKoram/sphero_tracker.git master
于 2017-09-25T18:37:36.627 回答
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
#                                      ^^^
#                                       |

看:

于 2012-08-14T05:42:14.797 回答
2

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

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

  1. 创建 github 仓库
  2. git add remote origin (https://...github页面窗口中的url)
  3. git clone 起源大师
  4. 创建本地仓库;添加; 犯罪;
  5. git推送起源

我想如果我不接受为 repo 创建自述文件的对话框提议,那么 3 将是不必要的,但令我感到奇怪的是,这个默认选项会破坏简单的 repo 创建过程,正如许多关于该主题的教程中所阐述的那样。

于 2012-08-15T13:57:54.777 回答
1

就我而言,我也遇到了同样的错误。

致命:refspec 的远程部分不是https://github.com/username/repo.git中的有效名称

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

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

最后这只是解决了

git push origin master 

不知道,但这有效。

于 2016-10-03T14:47:55.870 回答
0

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

git fetch其次是git pull origin mybranch(响应:“已经是最新的”)

然后git push origin mybranch

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

于 2016-01-29T18:01:40.160 回答