我已经分叉了一个外部存储库,其“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。
我对分支机构如何工作不正确的理解?我一直在做很多搜索,但没有发现任何与我的情况相符的内容。
答案 0 :(得分:3)
您可以SingleChannelPlotterControl
查看git branch -avv
是否有my-new-branch
作为上游分支。这很奇怪,可能与origin refspec有关。
如果要强制执行上游分支,请执行以下操作:
origin/develop