为什么 git diff 包含已经合并的提交?

问题描述 投票:0回答:1

我在 Azure DevOps 中有一个 git 存储库。该仓库有一个开发分支和一个主分支。我们的工程师将 PR 从他们的主题分支执行到开发分支,然后我们定期提交 PR 将代码从开发移动到主控。

但是,在创建从开发到掌握的 PR 时,我们注意到一个奇怪的行为。具体来说,差异包括开发和主控之间过去的提交(已经合并),我们不确定为什么。从开发合并到主控,然后恢复开发中的合并更改可能会加剧这种情况。

有没有办法修复这些分支,使差异达到我们的预期(如代码中的增量)?

git azure-devops
1个回答
1
投票

其实这就像关键问题:

This may be exacerbated by merging from develop to master, and then reverting a merged change in develop.
。另一件事是,如果您不是“真正”合并,而是“压缩”(或重新调整)更改,同时保持开发不变。然后最后一个共同祖先不会移动,然后当您看到 dev 在 PR 上向 master 引入了哪些更改时,您仍然会看到那些已经合并的更改。可能想看看 diff 如何使用 3 个点而不是 2 个点(例如 master...dev 而不是 master..dev
    

© www.soinside.com 2019 - 2024. All rights reserved.