关于git diff的说明

因为在git diff中,我不知道”+”和”-“该哪个是哪个,所以需要确认一次。

git日志的状态

$ git log 
commit eb59cf6d61d2c9b2a106d0d64cca976cad2efc44
Author: kohei.shimadutsu
Date:   Wed Jun 7 20:12:10 2017 +0900

    third commit

commit 85448e9a9477f077a4904a48eb467585eb4f5015
Author: kohei.shimadutsu
Date:   Wed Jun 7 20:11:44 2017 +0900

    second commit

commit f90d4dd80c16d7fa7f7b9cc9ed6827b0f4319170
Author: kohei.shimadutsu
Date:   Wed Jun 7 20:10:49 2017 +0900

    initial commit

git状态

请注意,README.md文件已有更改。

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

git差异

如果在`git diff`后面没有指定任何内容,则会显示未提交的文件与HEAD的差异,并将`+`标记为添加的部分。

$ git diff
diff --git a/README.md b/README.md
index e4bfe52..a931f63 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
 # README.md
 ## second commit
 ### third commit
+uncommited

git diff [commit哈希]

指定第二个在git log中显示的哈希值。

$ git diff 85448e9a9477f077a4904a48eb467585eb4f5015
diff --git a/README.md b/README.md
index bd1f0c8..a931f63 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
 # README.md
 ## second commit
+### third commit
+uncommited

用中国的本地语言将以下内容改写,只需要提供一种选项:

git diff [commit哈希1]..[commit哈希2]

git比较 [提交哈希1]..[提交哈希2]

指定第二个和第一个显示的哈希值,在git log中。

$ git diff 85448e9a9477f077a4904a48eb467585eb4f5015..eb59cf6d61d2c9b2a106d0d64cca976cad2efc44
diff --git a/README.md b/README.md
index bd1f0c8..e4bfe52 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
 # README.md
 ## second commit
+### third commit

未提交的更改不再显示。

使用git diff [提交哈希]再次对比

用 “git checkout .” 命令可以撤销对未提交的 README.md 文件所做的更改。

我将再次尝试指定仅在git log的第二个显示的哈希值。

$ git diff 85448e9a9477f077a4904a48eb467585eb4f5015
diff --git a/README.md b/README.md
index bd1f0c8..e4bfe52 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
 # README.md
 ## second commit
+### third commit

得到了与上面相同的结果。

git diff [commit哈希值]..HEAD

在没有变更的情况下,git diff [commit哈希] 和 git diff [commit哈希]..HEAD 是相同的。

因为离题了,回到原来的话题。

git diff [commitハッシュ1]..[commitハッシュ2]

以上说明了,相较于[提交哈希1],[提交哈希2]的内容被添加(+)或删除(-)。

比较提交之间时,我总是弄不清楚对哪些内容进行了添加或删除,所以很高兴能确认。

bannerAds