解释git-diff输出
我已经使用git很多年了,但是从来没有使用过diff命令,我今天开始使用它,但是我真的不理解它的输出。。。我有一个文件,删除了第3行和第4行,得到了以下输出,但是有人能帮助我理解输出行在虚拟术语中的含义吗。谢谢解释git-diff输出,git,diff,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 addi
$ 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行:@
表示下一个diff hunk中表示的行范围<代码>-1,4表示旧文件中的第1-4行,+1,2
表示新文件中的第1-2行
其余的行是原始文件中的行,前缀为
(空格)、-
或+
<代码>行既有旧的也有新的,-
只有旧的,+
只有新的
这些都是为了便于记忆:
-
是“删除的行”
是“未更改的行”+
是“添加的行”这只是统一的差异格式
这是生成此输出的命令行,仅用于检查任何特殊标志:
diff --git a/README.txt b/README.txt
这是索引的哈希值和文件的unix权限(0644
)
index 15827f4..8115e72 100644
这几行告诉您将要看到的-
和+
是指哪个文件:
--- a/README.txt
+++ b/README.txt
这里没有那么有用,但是如果您将diff
应用于不同的文件名(请记住这是一种通用格式),它可能会有用
遵循上下文,也就是说差异引用到哪些行(对于文件-
,行1
,列4
;对于文件+
,行1
列2
):
上下文还可能包括更改所在函数的名称,这样即使您进一步修改了文件,diff
也可以工作,只要可以找到应用更改的点
最后,这是变更集:
this file
adding like
-line 3
-
这意味着您已经删除了这两行,因为它们位于
-
(旧)文件中,而不在新文件中(没有+
行)。将有助于解释“旧文件”和“新文件”的含义。大多数示例甚至git输出都使用这些“a/xxx”和“b/xxx”,如果/当您的git命令类似于“git diff master origin/master”,而看不到“a或b”,这会让人感到困惑。
this file
adding like
-line 3
-