我已经看过问题了
git rebase and git push: non-fast forward, why use?
和
master branch and 'origin/master' have diverged, how to 'undiverge' branches'?
我仍然不清楚在这个特定的情况下我需要做什么。我首先同步了sync / master和master。这两个提交的顺序是
---o---A---B我现在在我的本地存储库上再提交两次提交,这样我就有了
---o---A---B---C---D现在我做了一个rebase,因为我想重新排序提交。所以我的主人现在是:
---o---A---C---D---B虽然我的起源/主人仍然是它在第一种情况下。现在,如果我尝试执行git推送,它会拒绝推送它,因为master和diverged /master已经分离。如何将此rebase推送到原点?
发布于 2012-04-11 07:20:54
您可以使用以下命令强制执行此操作:
git push -f origin master不过要小心。这实际上是在改变起源的历史,所以只有在你知道它不会破坏其他开发者的情况下才这样做,例如。
一般来说,对已经推送到远程/中央存储库的提交进行重新基址并不是一个好主意。
发布于 2016-05-04 23:11:26
我已经经历过几次了,一开始我像git说的那样,它会尝试将我过去的更改与我新的本地更改合并在一起,-not at。基本上,当您的本地repo分支与您的远程分支发生分歧时,您也必须对您的远程分支进行重新定位。例如:
git:(branch)$ git commit -m "my fix."
git:(branch)$ git checkout master
git:(master)$ git rebase branch
git:(master)$ git rebase origin/master
git:(master)$ git push origin master大获成功!
https://stackoverflow.com/questions/10097805
复制相似问题