首页 > 解决方案 > git diff - 输出显示“不正确”的更改

问题描述

假设我得到比较 2 个文件的差异输出:

example
example
example
example
example
example
example
example

example
example#
example
example
example
example#
example#
example

所以基本上,我对原始文件所做的唯一区别是在某些行中添加#-marks。对于这 2 个文件,差异输出将是:

...
example
+example#
example
example
-example
-example
-example
+example#
+example#
example
...

所以diff命令基本上认为我放在第二行的第一个#-mark是文件中的一个全新的行。有没有办法让差异输出这样的变化:

...
example
-example
+example#
example
example
-example
-example
+example#
+example#
example
...

这将使我的生活更轻松。谢谢!

标签: gitgitlabdiffgit-diff

解决方案


您显示的案例包含具有相同内容的所有行,git 算法将无法区分一行。如果行不同,它会显示哪一行发生了变化(添加或删除)。然后,更进一步,您可以使用git diff --word-diffhttps://git-scm.com/docs/git-diff#git-diff---word-diffltmodegt)向您展示每个字符的差异,而不是每行。


推荐阅读