当强制推送git重定基础的历史时,下游会发生什么

当强制推送git重定基础的历史时,下游会发生什么,git,git-rebase,Git,Git Rebase,想象一下,如果有人强制重新调整推送,而下游的人一直在做事情,他们会怎么样?他们是否必须重新召集所有冲突 首先,他们可能会失去历史,而下游可能是“危险”,这是一件坏事。你可能会以某种方式回到正轨 所以千万不要强迫主人 另一方面,如果您的下游已经以相同的方式重新设置了基础,以便上游和下游可以找到一个共同的祖先,那么事情应该是好的。不过,冲突可能会发生。但不要和师父一起尝试!;) 重定基会导致提交被重新创建,作为与旧对象不兼容的新对象。由于替换了分支指针,因此仍有对旧提交对象的引用的所有人(即在重新设

想象一下,如果有人强制重新调整推送,而下游的人一直在做事情,他们会怎么样?他们是否必须重新召集所有冲突

首先,他们可能会失去历史,而下游可能是“危险”,这是一件坏事。你可能会以某种方式回到正轨

所以千万不要强迫主人


另一方面,如果您的下游已经以相同的方式重新设置了基础,以便上游和下游可以找到一个共同的祖先,那么事情应该是好的。不过,冲突可能会发生。但不要和师父一起尝试!;)

重定基会导致提交被重新创建,作为与旧对象不兼容的新对象。由于替换了分支指针,因此仍有对旧提交对象的引用的所有人(即在重新设置存储库的基础之前获取存储库的所有人)都必须通过将其分支(本地或远程分支)重置为这些新提交来手动解决此问题。如果他们真的有局部变化,这尤其困难。在这种情况下,它们也将不得不重新设定基准

因此,一般来说,强制推送重定基础的提交可能会以其他人需要手动修复的方式破坏其他人的存储库。因此,您应该避免对过去发布的任何提交进行重定

如果您对强制推送过程中发生的事情感兴趣,以及这会如何影响合并和重新调整,请查看我在何处提供的更多详细信息