Git 多行变量差异

Git diff on multiple line variable

我想 git 区分我的代码的两个不同修订版。 困扰我的是多行变量的问题。

例如

MyVariable= "some_data_here="some_value"; another_data_here \
             more_data_here \
             "

当我运行:

git diff some_commit_sha^! -- repo_name | grep some_data_here

没有管道 grep 也会发生同样的事情。

git diff some_commit_sha^! -- repo_name

我的期望是获得

MyVariable= "some_data_here="some_value"; another_data_here \
             more_data_here \
             "

实际结果是

MyVariable= "some_data_here="some_val more_data_here \"

如何对多行变量再次进行 git 比较?

任何帮助将不胜感激。

这不是 Git 问题 — Git 输出完整的上下文。您正在将输出传送到 grep,它将明确地只输出包含作为参数给出的文本的行。 grep 没有读取您的代码。

您可以使用 -C N 在 grep 匹配项周围显示上下文行,其中 N 是上下文行数。例如:

some command | grep -C 5 search term

git diff -U 9999 <othercommit> -- filename

谢谢@LeGEC。