好的,我以为这是一个简单的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
工作维护远程备份。到目前为止,我们还不错。
但是现在我想基于master feature
的F--G
提交基础,所以我git checkout feature
和git rebase master
。还好。现在我们有:
A--B--C------F--G (master)
\
D'--E' (feature)
问题:我想备份新的feature
分支后git push origin feature
,由于该树由于重新定基而发生更改,因此推送被拒绝。这只能通过解决git push --force origin feature
。
我讨厌--force
不确定我是否需要它。所以,我需要吗?变基是否必然意味着下一个push
应该满足--force
?
此功能分支未与任何其他开发人员共享,因此对于强制推送我实际上没有问题,我也不会丢失任何数据,这个问题更具概念性。