了解选项git diff:
1)比较index和working area-git diff
2)比较HEAD和working area-git diff HEAD
3)比较index和HEAD-git diff --staged
这是真实的?
为什么在提交文件然后更改git diff --staged它之后它不显示任何内容 - 毕竟,索引是空的,但HEAD不是 - 即 有区别吗?
了解选项git diff:
1)比较index和working area-git diff
2)比较HEAD和working area-git diff HEAD
3)比较index和HEAD-git diff --staged
这是真实的?
为什么在提交文件然后更改git diff --staged它之后它不显示任何内容 - 毕竟,索引是空的,但HEAD不是 - 即 有区别吗?
一般来说,git
diffprogram命令显示了两棵文件和目录树之间的差异。(顺便说一下,它与diff程序非常相似)没有选项/选项的命令显示工作目录和包含在index
diff中的树之间的差异。如果索引(还)为空,则显示与指针指向的树的差异。HEAD如果您指定提交或指针(分支或标签)作为参数:
然后比较将在工作目录和对应于给定提交或指针的树之间进行。
如果指定选项
--cached,则索引中包含的树将与指针指向的树进行比较HEAD。如果索引为空,则与第一段所述类似,将有一个比较“HEAD与HEAD”,即 找不到差异。除了 option
--cached,您还可以提及提交或指针:那么存储在索引中的树将不会与 比较
HEAD,而是与给定提交或指针对应的树进行比较。同样,如果没有索引,则指向 的树HEAD。由上述可知,命令
(在
HEAD指向现有提交或指针的“正常”情况下)是完全等价的。见第3点:如果索引为空,那么会有一个比较“
HEAD与HEAD”,即 找不到差异。