我多年来一直在使用 git,但从未使用过 diff 命令,我今天开始使用它,但我真的不明白输出...... 我有一个文件,我删除了第 3 行和第 4 行,我得到了以下输出,但有人可以帮助我理解输出行在虚拟术语中的含义。谢谢
$ git diff
diff --git a/README.txt b/README.txt
index 15827f4..8115e72 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,2 @@
this file
adding like
-line 3
-
第 1 行:用于生成差异的命令。
第 2 行:git
所涉及的两个文件的数据库信息。
第 3 行和第 4 行:---
表示旧文件,+++
表示新文件。
第 5 行:@@
表示下一个差异大块中表示的行的范围。 -1,4
表示旧文件中的第 1-4 行,+1,2
表示新文件中的第 1-2 行。
其余行是原始文件中的行,前缀为(空格(、
+
或-
。线条既有旧也有新,
-
只有旧,+
只有新。
这些是助记符:0644
是"删除的行",是"不变的行",
+
是"添加的行"。
它只是统一的差异格式。
这是生成此输出的命令行,只是为了检查任何特殊标志:
diff --git a/README.txt b/README.txt
这是索引的哈希和文件的 unix 权限 ( diff
(
index 15827f4..8115e72 100644
以下行告诉您将看到的-
和1
引用到哪个文件:
--- a/README.txt
+++ b/README.txt
这里不是那么有用,但是如果您将4
应用于不同的文件名(仍然记住这是一种通用格式(,它可能会。
遵循上下文,也就是说差异引用了哪几行(对于文件 +
,第 1
行到 2
行;对于文件 diff
,第 -
行到 +
(:
@@ -1,4 +1,2 @@
上下文还可能包括更改所在的函数的名称,以便即使进一步修改了文件,只要可以找到应用更改的点,CC_26也可以工作。
最后,这是变更集:
this file
adding like
-line 3
-
这意味着您已经删除了这两行,因为它们位于CC_27(旧(文件中,但不在新文件中(没有CC_28行(。