即使在将 dev 合并到 master 之后,git 也会直接显示 dev 和 master 之间的差异

nxm*_*mad 1 git github

这发生在我身上 2 个单独的回购。

我的 dev 分支在几次提交之前领先于我的 master 分支。我打开一个 pull request 将 dev 合并到 master(挤压和合并)。合并后,当我再次比较 dev 和 master 时,它显示了完全相同的提交差异列表。

再次打开另一个拉取请求会显示相同的提交。

我已经通过完全删除 dev 并checkout -b在 master 上创建一个新分支来解决这个问题,但是有人可以解释为什么会发生这种情况吗?

Oli*_*rth 5

GitHub 的“Squash and merge”不是传统的合并——创建一个全新的提交,然后快进合并到目标分支。因此,这两个分支在提交图中看起来是不相关的,因此后续的差异将显示出令人困惑的结果。

因此,当源分支是短暂的时,S&M 通常只是一个好主意——即,如果 PR 完成后就不需要它了。所以它通常对短期功能分支有意义,但不适用于您的用例。