本地和远程分支需要匹配git push的名称吗?

时间:2011-06-28 17:11:43

标签: git github

如果有人帮我解决这个问题,那真是太棒了。

假设我在master或者名为MyBranch的分支中工作,我想将我刚刚提交的更改推送到新的github分支。当我做的时候

git push origin RemoteBranch

它会说像

error: src refspec RemoteBranch does not match any.
error: failed to push some refs to 'git@github.com:bla/bla.git'

1)为什么?似乎只有将提交复制到远程分支的方法是确保它们的名称完全匹配。基本上我必须在本地执行一个git分支RemoteBranch,然后我可以做一下就好了。

2)如何查看远程分支的完整列表?

git branch -a

git branch -r

只显示我在本地仓库上匹配的分支,而不是github上可用的所有分支。

谢谢!

2 个答案:

答案 0 :(得分:11)

如果您要查看man页面,可以了解具体方法。

您可以使用:git push <remote> <local-branch>:<remote-branch>

答案 1 :(得分:2)

您必须先创建本地分支才能推送它:

git checkout -b RemoteBranch
git push -u origin RemoteBranch

-u选项是自动设置 RemoteBranch 以跟踪 origin / RemoteBranch

或者,如果你是大师,并希望推动大师作为一个新的分支:

git push origin master:RemoteBranch