我正在查看一个 git diff,其中大部分是从一个文件移动到另一个文件的相同代码加上空格。我怎么能看到真正的差异?我试过git diff -b -C -C
无济于事。
问问题
686 次
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找到它的帮助/用法
相关选项包括:
--color-moved[=<mode>]
(模式:no
,default
,plain
,blocks
,zebra
,dimmed-zebra
)--no-color-moved
--color-moved-ws[=<modes>]
(模式:no
,ignore-space-at-eol
,ignore-space-change
,ignore-all-space
,allow-indentation-change
)--no-color-moved-ws
于 2019-11-11T06:17:13.623 回答
1
根据 kampu 的有用评论,到目前为止唯一可行的解决方案是将代码移回原始位置并在那里进行比较。
于 2013-05-23T10:04:07.510 回答
1
使用-M
git 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 回答