每次运行 git diff 时,对于我所做的每一个更改,我都会得到某种带有数字的标题,例如:
@@ -169,14 +167,12 @@ function Browser(window, document, body, XHR, $log) {.....
我想知道这四个数字是什么意思?我猜 -169 意味着后面的这行特定代码最初位于第 169 行,但现在位于第 167 行? 14 和 12 是什么意思?
请您参考如下方法:
此 header 称为更改集或 block 。每个 block 都以一行开头,其中包含之前文件中的行或行范围 from,no-of-lines
(用 -
),并用 @@ 括起来更改后(使用 +
)。之后是文件中的行。以 -
开头的行将被删除,以 +
开头的行将被添加。补丁修改的每一行前后都有 3 行上下文。
添加如下所示:
@@ -75,6 +103,8 @@
foo
bar
baz
+line1
+line2
more context
and more
and still context
这意味着,在原始文件第 78 行(= 75 + 3 行上下文)之前添加两行。完成所有更改后,这些将是第 106 行(= 103 + 3 行上下文)到第 107 行。
请注意 from
数字的差异(-75 与 +103),这意味着在这个特定 block 之前此文件中还有其他更改,添加了 28 (103 - 75) 行代码。
删除看起来像这样:
@@ -75,7 +75,6 @@
foo
bar
baz
-line1
more context
and more
and still context
这意味着,删除原始文件中的第 78 行(= 75 + 3 行上下文)。所有更改后,未更改的上下文将位于第 75 至 80 行。
请注意,该 block 中的 from
数字相等(-75 和 +75),这意味着该 block 之前没有任何更改,或者之前更改中添加和删除的行数相同。
最后,更改如下所示:
@@ -70,7 +70,7 @@
foo
bar
baz
-red
+blue
more context
and more
still context
这意味着,在所有更改之前更改文件中的第 73 行(= 70 + 3 行上下文),其中包含红色到蓝色。所有更改后,更改的行也是文件中的第 73 行(= 70 + 3 行上下文)。