解释 git 差异输出

  • 本文关键字:输出 git 解释 git diff
  • 更新时间 :
  • 英文 :


我多年来一直在使用 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行(。

最新更新