如何询问 git 给定的已删除帅哥现在是否居住以及住在哪里?

How to ask git if and where given deleted hunk lives now?

在合并的时候,我经常修改现在的代码"deleted"。然而,它可能已被转移到其他地方。我怎样才能找到位置?

示例:我更改了文件 A 中定义的函数 foo 中的一行。接下来,我与树合并,该函数现在已移至文件 B(并且可能还更改了一行)。在 A 中,冲突标记为 "this hunk was deleted"。

有许多视觉差异和合并工具可提供更好的差异可视化。这些通常可以显示大块代码何时被移动而不是被删除。

您将它们与 git difftool and this must be configured with which tool to use. There's a wide variety available 一起使用。这是一个使用 Meld 的例子。

假设您的分支是 mybranch,主树是 master,您可以 git diff mybranch...master。这将使用最近的共同祖先提交作为参考点向您显示两个分支之间的所有更改。

在 diff 中,您可以搜索您的文件以查看发生了什么。

有关详细信息,请参阅 git help diff