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
分支)以便在没有我以前从头开始的更改的情况下工作,比如所以:
git fetch upstream
(获取国外repo的最新副本)
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)
基本上,它不是将这个本地新分支转移到远程存储库上,而是试图将其推送到它前面的开发分支中,这自然会面临拒绝。我最终想要的是在我的远程存储库中拥有两个分支,develop AND fix-3894。
我对分支如何工作的理解不正确吗?我一直在进行大量搜索,但没有找到任何符合我的情况的东西。
您可以执行 git branch -avv
以查看 my-new-branch
是否有 origin/develop
作为上游分支。那会很奇怪,可能与 origin refspec.
有关
如果你想强制上游分支,做一个:
git push -u origin my-new-branch:my-new-branch
我 fork 了一个外部存储库,其 "main" 分支名为 develop
(而不是 master
)并在此 develop
分支上进行了多次提交。
现在我想创建一个初始外部存储库的 develop
分支的新分支(而不是我分叉和处理的分支的 develop
分支)以便在没有我以前从头开始的更改的情况下工作,比如所以:
git fetch upstream
(获取国外repo的最新副本)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)
基本上,它不是将这个本地新分支转移到远程存储库上,而是试图将其推送到它前面的开发分支中,这自然会面临拒绝。我最终想要的是在我的远程存储库中拥有两个分支,develop AND fix-3894。
我对分支如何工作的理解不正确吗?我一直在进行大量搜索,但没有找到任何符合我的情况的东西。
您可以执行 git branch -avv
以查看 my-new-branch
是否有 origin/develop
作为上游分支。那会很奇怪,可能与 origin refspec.
如果你想强制上游分支,做一个:
git push -u origin my-new-branch:my-new-branch