' git diff'的文档是指来源'文件(默认输出前缀是' a /')和'目的地'文件(默认输出前缀是' b /')。我的问题是,来源'来源'参考索引(临时区域)和'目的地'中的文件。工作目录中的文件,还是反过来?
答案 0 :(得分:2)
答案是否定和是。 1
git diff
可以比较您的临时区域,但它并不总能这样做。让我们考虑一下这些常见情况:
git diff
,没有其他参数。这意味着"将与索引关联的树与当前工作目录中的树进行比较。"在这种情况下,"来源"是索引。
git diff HEAD
,没有其他参数。这意味着"将HEAD
中的树与工作目录中的树进行比较。"在这种情况下,根本不使用索引。如果您命名特定的修订版或分支,情况也是如此。
git diff --cached
,没有其他参数。这意味着"将HEAD
中的树与索引中的树进行比较。"在这种情况下,"目的地"是索引。
git diff --cached <rev>
:这与#3相同,但使用指定的修订版作为来源。
git diff <rev1> <rev2>
:这会比较两个指定修订版本的树,同时忽略索引和工作树。
因此,有时临时区域是源或目的地,有时根本不使用。
据说:不要向精灵寻求答案,因为他们会说不,也不是。
答案 1 :(得分:0)
没关系。来源是索引,目的地是工作。我所要做的就是查看工作文件。 d&#39;哦!全脑屁。