对于"git diff",是否有一个-U <infinity>选项来显示整个文件?

Ale*_*huk 13 git

我需要以编程方式为web ui生成一个完整的上下文git diff.

用于生成完整上下文差异的CLI包含在以下问题中:

流行的答案是这样的 git diff -U99999

如果-U / --unified选项具有可笑的高阈值(例如999,999),则执行以下操作git diff -U999999:

  1. 让我怀疑可能会有性能损失
  2. 更糟糕的是,如果我的文件大于1M行,这是正确性问题

是否有-U选项显示整个文件?

Kev*_*eid 7

如果您仅使用带有的大数字-U,则可以选择大数字作为应用程序无法处理显示这么大文件的点(diff)。

如果我的文件大于1M行,那就是正确性问题

为了解决此问题,您可以检查输出中是否有多@@ ... @@行以确定其是否完整-这可以避免静默输入错误的数字。

  • 实验上,我发现`git diff -U999999999999999999`给出了“分段错误(核心已转储)”。但是,少了一位数字,即-U999999999999999999999。同样,在第一个命令“ -U9999999999999999999999999999”中添加两个或多个数字,会导致该命令的行为就好像该选项实际上是“ -U0”一样。 (4认同)