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

git push origin [local-branch] tries to push into remote main branch instead of creating a new one

我 fork 了一个外部存储库,其 "main" 分支名为 develop(而不是 master)并在此 develop 分支上进行了多次提交。
现在我想创建一个初始外部存储库的 develop 分支的新分支(而不是我分叉和处理的分支的 develop 分支)以便在没有我以前从头开始的更改的情况下工作,比如所以:

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

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

基本上,它不是将这个本地新分支转移到远程存储库上,而是试图将其推送到它前面的开发分支中,这自然会面临拒绝。我最终想要的是在我的远程存储库中拥有两个分支,develop AND fix-3894。

我对分支如何工作的理解不正确吗?我一直在进行大量搜索,但没有找到任何符合我的情况的东西。

您可以执行 git branch -avv 以查看 my-new-branch 是否有 origin/develop 作为上游分支。那会很奇怪,可能与 origin refspec.

有关

如果你想强制上游分支,做一个:

git push -u origin my-new-branch:my-new-branch