当强行推动git重新定位历史时,下游会发生什么

时间:2015-04-25 00:54:15

标签: git git-rebase

想象一下,有人强行推动下游,而下游人员一直在做事情,会发生什么?他们是否必须再次重新出现所有冲突?

2 个答案:

答案 0 :(得分:1)

首先,他们可能会失去历史,下游可能会“危险”,这是一件坏事。你最终可能会把你的作品挑选回到轨道上。

所以永远不要强迫推进大师!

另一方面,如果您的下游已经以同样的方式进行了重新定位,那么上游和下游可以找到一个共同的祖先,事情应该没问题。但是可能会发生冲突。但是不要和主人一起试试! ;)

答案 1 :(得分:1)

重新引用会导致提交重新创建,因为新对象与旧对象不兼容。由于您替换了分支指针,所有仍然引用旧提交对象的人(即在重新命名之前获取存储库的每个人)都必须通过将其分支(本地或远程分支)重置为这些新提交来手动解决此问题。如果他们实际上有本地更改,这尤其困难。在这种情况下,他们也必须改变。

因此,一般情况下,强制推送重新提交的提交可能会以他们需要手动修复它的方式打破其他人的存储库。因此,您应该避免重新定位过去发布的任何提交。

如果您对强制推送期间发生的事情感兴趣,以及它如何影响合并和折扣,请查看my answer on another question我将详细介绍的内容。