如何推动到另一个分支

时间:2014-03-31 06:50:36

标签: git github

我有本地初始化的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

2 个答案:

答案 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上的分支下拉列表,看看你的分支引用是否被推送。