好吧,我认为这是一个简单的git场景,我错过了什么?
我有一个master分支和一个feature分支。我做了一些工作master,一些工作,feature然后再做一些工作master。我最终得到这样的东西(词典顺序暗示了提交的顺序):
A--B--C------F--G (master)
\
D--E (feature)
我没有问题要git push origin master保持远程master更新,也没有git push origin feature(当打开时feature)为我的feature工作维护远程备份。到目前为止,我们很好。
但是现在我想在主人feature的F--G提交之上重新定义,所以我git checkout feature和git rebase master。还好。现在我们有:
A--B--C------F--G (master)
\
D'--E' (feature)
问题:当我想要备份新的rebased feature分支时git push origin feature,推送被拒绝,因为树由于变基而发生了变化。这只能通过解决git push --force origin feature。
我讨厌使用--force而不确定我是否需要它。那么,我需要它吗?重新定位是否必然意味着下一个push应该是--force完美的?
这个功能分支不与任何其他开发者共享,所以我事实上没有问题,推力,我不会丢失任何数据,问题更具概念性。
千巷猫影
GCT1015
凤凰求蛊