再一次:快
所以我重新挑选了一个反对主人的分支。 然而,
git push --set-upstream origin MyBranch
我明白了
! [rejected] MyBranch -> MyBranch (non-fast-forward)
error: failed to push some refs to 'https://mygit@bitbucket.org/mygit/myproject.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
那么好吧。 再次基础。 完成没有问题。 然后
git pull
* branch HEAD -> FETCH_HEAD
好的,已经是最新的了
git push --set-upstream origin MyBranch
再次,错误。 我可以推动,但我不喜欢丢失东西的风险,说实话,即使我按照规则手册玩,似乎也会发生这个恼人的问题,我真的想知道一个合适的解决方案。
从你的描述中,我将尝试对可能发生的事情进行有根据的猜测。
Git拒绝将你的rebased commit提交到上游分支( origin/MyBranch
),因为它们与已经存在的分支不同。 它们是不同的,因为你在不同于上游分支提交的提交之上重新定义了本地提交。
问题
以下是我认为您的情况可能如下所示的示例:
Local Origin
A---B---C---F (master) A---B---C---F (master)
D'---E' (MyBranch) D---E (MyBranch)
origin/MyBranch
中的提交D
和E
最初基于master
C
顶层。 然后F
成为新HEAD
的master
。 master
完成git pull
,你在本地回购中获得了新的提交F
MyBranch
之上master
,也就是现在的F
,而且改变了哈希提交D
和E
到D'
和E'
。 git push origin MyBranch
拒绝覆盖提交,因为Git将它们视为不同于origin
提交的提交,它们仍然基于C
顶部。 (可能的)解决方案
如果你是唯一一个在MyBranch
工作的人,或者你可以轻松地与任何可能有兴趣在该分支机构工作的人沟通,我会说只是推动你重新提交的提交。 同样,假设没有其他人同时将提交提交到origin/MyBranch
,则不会丢失任何内容。
如果这完全不能反映您的情况,请随时忽略此建议,并在可能的情况下添加有关此问题的更多详细信息。
链接地址: http://www.djcxy.com/p/49249.html上一篇: Once again: fast
下一篇: After rebase and force push, I have a detached/dangling commit/tag