2

我正在查看一个 git diff,其中大部分是从一个文件移动到另一个文件的相同代码加上空格。我怎么能看到真正的差异?我试过git diff -b -C -C无济于事。

4

3 回答 3

4

我通过另一篇 SO 帖子中的评论发现了这一点,但似乎自从 git v2.15 以来,就有能力git diff --color-moved更好地区分移动和更改的代码。

在GitHub git 2.17 发布博客文章中也有一个很好的示例 + 屏幕截图显示它的用法。

您可以在https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---color-movedltmodegt找到它的帮助/用法

相关选项包括:

于 2019-11-11T06:17:13.623 回答
1

根据 kampu 的有用评论,到目前为止唯一可行的解​​决方案是将代码移回原始位置并在那里进行比较。

于 2013-05-23T10:04:07.510 回答
1

使用-Mgit diff 的选项:

   -M[<n>], --find-renames[=<n>]
       Detect renames. If n is specified, it is a threshold on the
       similarity index (i.e. amount of addition/deletions compared 
       to the file’s size). For example, -M90% means git should 
       consider a delete/add pair to be a rename if more than 90% 
       of the file hasn’t changed.

-w

   -w, --ignore-all-space
       Ignore whitespace when comparing lines. This ignores
       differences even if one line has whitespace where the
       other line has none.
于 2013-05-23T05:21:45.730 回答