'git diff'文档指的是'source'和'destination',但没有说明哪个对应于index

时间:2015-01-28 01:10:14

标签: git

' git diff'的文档是指来源'文件(默认输出前缀是' a /')和'目的地'文件(默认输出前缀是' b /')。我的问题是,来源'来源'参考索引(临时区域)和'目的地'中的文件。工作目录中的文件,还是反过来?

2 个答案:

答案 0 :(得分:2)

答案是否定和是。 1

git diff 可以比较您的临时区域,但它并不总能这样做。让我们考虑一下这些常见情况:

  1. git diff,没有其他参数。这意味着"将与索引关联的树与当前工作目录中的树进行比较。"在这种情况下,"来源"是索引。

  2. git diff HEAD,没有其他参数。这意味着"将HEAD中的树与工作目录中的树进行比较。"在这种情况下,根本不使用索引。如果您命名特定的修订版或分支,情况也是如此。

  3. git diff --cached,没有其他参数。这意味着"将HEAD中的树与索引中的树进行比较。"在这种情况下,"目的地"是索引。

  4. git diff --cached <rev>:这与#3相同,但使用指定的修订版作为来源。

  5. git diff <rev1> <rev2>:这会比较两个指定修订版本的树,同时忽略索引和工作树。

  6. 因此,有时临时区域是源或目的地,有时根本不使用。


    据说:不要向精灵寻求答案,因为他们会说不,也不是。

答案 1 :(得分:0)

没关系。来源是索引,目的地是工作。我所要做的就是查看工作文件。 d&#39;哦!全脑屁。