git push origin [local-branch]尝试进入远程主分支而不是创建一个新分支

时间:2016-01-19 16:37:18

标签: git github merge branch git-branch

我已经分叉了一个外部存储库,其“main”分支被称为develop(而不是master),并在此develop分支上进行了多次提交。
现在我想创建一个初始外部存储库develop分支的新分支(而不是我分支和工作的分支的develop分支),以便在没有我以前的更改的情况下工作,就像这样:

  • git fetch upstream(获取外国回购的最新副本)
  • git checkout -b "my-new-branch" upstream/develop(从upstream/develop创建新分支)
  • git push origin my-new-branch(将分支推送到github上的远程仓库)

所以我创建了一个名为fix-3894的本地分支,但每当我使用“git push origin my-new-branch”命令时,我得到这个输出:

! [rejected]        fix-3894 -> develop (non-fast-forward)

基本上,它不是在远程存储库上传输这个本地新分支,而是尝试将其推入到领先于它的开发分支中,并且自然会面临拒绝。我最终想要的是在我的远程存储库上有两个分支,开发AND fix-3894。

我对分支机构如何工作不正确的理解?我一直在做很多搜索,但没有发现任何与我的情况相符的内容。

1 个答案:

答案 0 :(得分:3)

您可以SingleChannelPlotterControl查看git branch -avv是否有my-new-branch作为上游分支。这很奇怪,可能与origin refspec有关。

如果要强制执行上游分支,请执行以下操作:

origin/develop