我有本地初始化的git repo,我可以通过以下方式推送到我的github repo:
git push github master
然后,我决定在我的远程仓库中创建另一个分支,名为rails4
为了推动新的努力,我尝试了:
git push github rails4
但是,我收到了这个错误:
error: src refspec rails4 does not match any.
error: failed to push some refs to 'https://github.com/hopewise/dcaclab-website.git'
我想念什么?
修改
我发现我正在尝试推送到另一个远程分支,而我当前的本地分支是主人,我做的是:
git branch rails4
git checkout rails4
git push github rails4
答案 0 :(得分:2)
git push
的最后一个参数,在本例中为rails4
,是一个“refspec”。在这种特殊情况下,这意味着它有两个部分: 存储库中的分支名称,以及要在 存储库中更新或创建的分支。 (你在两者之间加上一个冒号来分隔它们,例如,git push master:rails4
会将你的 master
复制到他们的 rails4
。)
你说rails4
,这意味着rails4:rails4
- 如果你省略“他们”的名字,它默认与“你的”那边相同 - 所以你的git抬头你的本地rails4
分支是为了推送它...而且你没有拥有本地rails4
分支,因此有点神秘:
src refspec rails4 does not match any.
错误消息。
换句话说,您必须在 存储库中选择一个现有分支(可能首先创建它,以便它确实存在),然后才能将该分支推送到其他名称,甚至相同名称,在他们的存储库中。
答案 1 :(得分:0)
您对rails4
有任何提交吗?如果没有,它指向与主分支相同的提交。尝试在rails4
上提交一些内容然后再推送。
或者,检查github上的分支下拉列表,看看你的分支引用是否被推送。