git - 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
...
这将使我的生活更轻松。谢谢!
解决方案
您显示的案例包含具有相同内容的所有行,git 算法将无法区分一行。如果行不同,它会显示哪一行发生了变化(添加或删除)。然后,更进一步,您可以使用git diff --word-diff
(https://git-scm.com/docs/git-diff#git-diff---word-diffltmodegt)向您展示每个字符的差异,而不是每行。
推荐阅读
- javascript - 尝试使用 mount 进行测试时,React Enzyme setState 不起作用
- reactjs - × 超出最大更新深度
- mysql - SQL 按不同字段排序
- python - 将文本拆分为关联表时无法显示文本列
- flutter - 网页浏览太慢
- php - Drush 9 别名文件应该位于 Drupal 8 中的哪个位置?
- javascript - 从 HTML Table 中获取文本并将其放置在预定义的字符串中
- angular - 在angular5 / 6中单击按钮时如何从url下载文件
- css - Bootstrap 主题错误:设置配色方案时出现问题
- firebase - 如何为不同类型的用户使用 Firebase 身份验证来访问他们各自的实时数据库节点或子节点