有很多关于rebase安全性的git问题,似乎有共识认为只要记住重写公共历史是不礼貌的,你就应该是安全的,也就是说,如果你从拉取的仓库中没有推送任何提交,那么你就是安全的。
然而,有一个答案让我感到犹豫:
https://dev59.com/k3E85IYBdhLWcg3w1HKF#2597107
提交到一个分支。推送。将其合并到另一个分支上(比如你正在维护两个基线,一个是补丁分支,一个是新开发分支)。意识到其他提交已经被推送到了服务器分支,而你的分支正在跟踪这个服务器分支。拉取--rebase。突然间,你重新制作了每个提交的新哈希值,并摧毁了合并提交。我尝试过这个操作,但无法重现相关场景(也许我需要创建一个更复杂的合并,但迄今为止失败了)。因此,我想请您解释一下这种情况,并在可能的情况下提供一组标准,以便我可以安全地、相对轻松地依赖于rebase拉取。