【发布时间】:2012-02-14 22:24:51
【问题描述】:
好的,我以为这是一个简单的 git 场景,我错过了什么?
我有一个master 分支和一个feature 分支。我在master 上做了一些工作,在feature 上做了一些工作,然后在master 上做了更多工作。我最终得到了这样的结果(字典顺序意味着提交的顺序):
A--B--C------F--G (master)
\
D--E (feature)
我对@987654327@ 保持远程master 更新没有问题,也没有问题git push origin feature(在feature 上时)为我的feature 工作维护远程备份。到目前为止,我们都很好。
但现在我想在 master 上的 F--G 提交之上重新设置 feature,所以我要 git checkout feature 和 git rebase master。还好。现在我们有:
A--B--C------F--G (master)
\
D'--E' (feature)
问题:当我要备份与git push origin feature 分支的新重定位feature 时,推送被拒绝,因为树已因重定位而改变.这只能通过git push --force origin feature 解决。
我讨厌在不确定自己是否需要的情况下使用--force。那么,我需要它吗?变基必然是否暗示下一个push应该是--forceful?
此功能分支不与任何其他开发人员共享,所以我对强制推送没有问题事实上,我不会丢失任何数据,这个问题更具概念性。
【问题讨论】:
-
--force不是怪物,而是功能。您可以在需要时使用它。
标签: git