Git 再一次:快进错误
因此,我将一个分支重新设置为与主分支相对应的分支。但是,Git 再一次:快进错误,git,fast-forward,Git,Fast Forward,因此,我将一个分支重新设置为与主分支相对应的分支。但是, git push --set-upstream origin MyBranch 我明白了 所以,好吧。再次重定基准。没有问题地完成。然后 git pull * branch HEAD -> FETCH_HEAD 好的,已经是最新的了 git push --set-upstream origin MyBranch 再次强调错误。我可以强迫自己,但我不喜欢失去东西的风险,老实说,我真的很想知
git push --set-upstream origin MyBranch
我明白了
所以,好吧。再次重定基准。没有问题地完成。然后
git pull
* branch HEAD -> FETCH_HEAD
好的,已经是最新的了
git push --set-upstream origin MyBranch
再次强调错误。我可以强迫自己,但我不喜欢失去东西的风险,老实说,我真的很想知道一个合适的解决方案,即使我按照规则行事,这个恼人的问题似乎也会发生 根据你的描述,我将尝试对可能发生的事情做出一个有根据的猜测 Git拒绝将重定基础的提交推送到上游分支(
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
成为master
的新HEAD
master
中执行git pull
时,您在本地回购上获得了新的提交F
master
上重新设置了MyBranch
,它现在是F
,并将D
和E
的提交散列更改为D'
和E'
git-push-origin-MyBranch
拒绝覆盖提交,因为git认为它们与origin
中的提交不同,后者仍然基于C
的顶部MyBranch
上工作的人,或者如果您可以轻松地与任何可能对在该分支上工作感兴趣的人进行沟通,那么我建议强制推送您的重定基础提交。同样,假设在此期间没有其他人将提交推送到origin/MyBranch
,则不会丢失任何内容
如果这根本不能反映您的情况,请忽略此建议,如果可能,请添加有关问题的更多详细信息。您重新设置基础的分支已经被推送?是否执行
git fetch
和git rebase origin/MyBranch
可能的重复
Local Origin
A---B---C---F (master) A---B---C---F (master)
\ \
D'---E' (MyBranch) D---E (MyBranch)