有3个主要的git diff
版本:
- 之间的差异
git diff
-工作目录和STAGE- 之间的差
git diff --staged
-HEAD和STAGE- 之间的差
git diff HEAD
-HEAD与工作目录
以上是我几乎在网上从各个地方找到的定义
我按以下顺序对3个文件执行了某些提交:
ce6f5bb (HEAD -> master) 6th commit, file1 c1c67da 5th commit, file3 ea51776 4th commit, file1 file2 001675b 3rd commit, file1 file2 ec04f53 2nd commit, file2 21cb6c1 1st commit, file1
a。 file2 在工作目录中修改b。暂未提交任何内容c。 file1&file3 未修改
我的查询是:
git diff
diff --git a/file2.txt b/file2.txt
index 21106bf..c755a1e 100644
--- a/file2.txt
+++ b/file2.txt
@@ -1,3 +1,4 @@
123
345
678
+90.
尽管分区域很空,为什么显示diff?
git diff
diff --git a/file2.txt b/file2.txt
index 21106bf..c755a1e 100644
--- a/file2.txt
+++ b/file2.txt
@@ -1,3 +1,4 @@
123
345
678
+90.
如果LAST COMMIT(HEAD)与file1有关,那么为什么显示file2的差异?HEAD根本不包含与file2相关的任何内容
它什么也没显示!((我假设只有在文件已暂存并且在工作目录中也进行了某些[[除]以外的更改]时,它才会显示diff)好吧,如果是这样,那么为什么1。中显示diff4。 git diff --staged
git diff
diff --git a/file2.txt b/file2.txt
index 21106bf..c755a1e 100644
--- a/file2.txt
+++ b/file2.txt
@@ -1,3 +1,4 @@
123
345
678
+90.
同样,如果HEAD指向文件1,那么为什么显示文件2的差异?
((注:另一个场景。与上面不同)
:对于git diff HEAD
,我的猜测是对于每个跟踪的文件
,HEAD将继续向后移动,直到找到提交的那个文件的最新版本,以便与工作目录中的那个进行比较如果我们考虑以下新情况,那么对于git diff HEAD
,是否低于我所假设的?[有3个主要的git diff版本:git diff-工作目录与阶段之间的差异git diff --staged-HEAD与STAGE之间的差异git diff HEAD-差异...