“@@”行中的数字在 diff 的输出中是什么意思?

Tim*_*Tim 7 diff

这是 Unix Shell 程序的一个例子diff,来自版本控制与 Git,由 Loeliger,2ed:

在此处输入图片说明

让我们详细看看差异。

在标题中,原始文件用 - - - 表示,新文件用 +++ 表示。

@@ 行为两个文件版本提供行号上下文。

“@@”行中的数字究竟是什么意思?

Tho*_*key 7

它们是旧文件/新文件的行号,以帮助patch(或类似)程序解码统一差异。

  • 逗号后面的数字是块的长度(在旧文件或新文件中),以及
  • 逗号前的数字是块开头的行号。
  • +-标记是指添加和删除分别线。

在您的示例中,该行

@@ -1,4 +1,5 @@
Run Code Online (Sandbox Code Playgroud)

使用-+标志作为一个类比<,并>在使用标志常规差异输出的左/右文件。这两种格式都试图交错不同的行。(上下文差异显示之前和之后的块,而不是交错)。

统一差异是程序的一种特殊格式diffdiff 输出格式部分讨论了其他广泛支持的格式。

进一步阅读: