这个问题几乎是这个问题的延续:git rebase master then push origin branch results in non-fast-forward error
我有一个名为dan
的个人本地和远程功能分支。我已经工作了很长时间,我的同事在我工作的时候一直致力于origin/master
。
如果我在git pull --rebase
上master
,master
看起来就像我喜欢的那样。但我的dan
和origin/dan
似乎是从master
过去创建的,而不是目前的位置。
我可以通过git rebase master dan
暂时解决这个问题。但是origin/dan
将保持原状。如果我在git push
上尝试dan
,我会收到错误(非快进)。
这是非常痛苦的处理,我想知道我的选择是什么。最后,我希望看起来像,就像我开始只使用dan
分支的本地git rebase master dan
分支,然后我第一次做了git push origin dan
。但是,这只是一种偏好,如果有一种更聪明的工作方式,而且看起来并不那样,我也会对使用它感兴趣。
对我来说,最简单的解决方案是进行上述所有的变基,删除这些远程分支,然后从我的本地环境重新创建它们。但是,我根本不会对这个过程感到满意。此外,明天有人可能正在我的远程分支机构工作,然后这不再是一个选项。
答案 0 :(得分:1)
更新master
后,最简单的解决方案仍然是将dan
合并到master
。
这使您可以在不必处理非快进推送错误的情况下推送dan
。
是的,origin/dan
仍会从“master
所在的位置”开始,但这只是反映了您使用此dan
分支的时间。