本地和远程分支需要命名一致才能进行 Git 推送?

9

希望有人能帮助我完成这个操作。

假设我正在主分支上工作,或者在一个名为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 branch RemoteBranch,然后就可以正常进行推送了。

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

git branch -a

或者

git branch -r

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

谢谢!


请查看您的.git/config文件,以查看您的分支推送到哪个远程分支名称。 - Abizern
2个回答

13

如果您查看man页,您会找到如何操作。

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


2

在推送之前,您必须先创建本地分支:

git checkout -b RemoteBranch
git push -u origin RemoteBranch

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

或者,如果你在master分支上,并且想将master分支推送为一个新的分支:

git push origin master:RemoteBranch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接