Git ';吉特差异';文件是指';来源';和';目的地';但是';我说不出哪一个对应于索引

Git ';吉特差异';文件是指';来源';和';目的地';但是';我说不出哪一个对应于索引,git,Git,“git diff”的文档引用了“源”文件(默认输出前缀为“a/”)和“目标”文件(默认输出前缀为“b/”)。我的问题是,“源”是指索引(暂存区域)中的文件,而“目标”是指工作目录中的文件,还是相反?没关系。源是索引,目标是工作。我所要做的就是查看工作文件。哦!全脑放屁。答案是否定和肯定。1 git diff可以将事物与您的暂存区域进行比较,但它并不总是这样做。让我们考虑这些常见的情况: git diff,无附加参数。这意味着“将与索引关联的树与当前工作目录中的树进行比较”。在本例中,“源”是索

“git diff”的文档引用了“源”文件(默认输出前缀为“a/”)和“目标”文件(默认输出前缀为“b/”)。我的问题是,“源”是指索引(暂存区域)中的文件,而“目标”是指工作目录中的文件,还是相反?

没关系。源是索引,目标是工作。我所要做的就是查看工作文件。哦!全脑放屁。

答案是否定和肯定。1

git diff
可以将事物与您的暂存区域进行比较,但它并不总是这样做。让我们考虑这些常见的情况:

  • git diff
    ,无附加参数。这意味着“将与索引关联的树与当前工作目录中的树进行比较”。在本例中,“源”是索引

  • git diff HEAD
    ,无附加参数。这意味着“将
    HEAD
    中的树与工作目录中的树进行比较”。在这种情况下,根本不使用索引。如果指定特定的修订或分支,情况也是如此

  • git diff--cached
    ,不带其他参数。这意味着“将
    HEAD
    中的树与索引中的树进行比较”。在这种情况下,“destination”是索引

  • git diff--cached
    :这与#3相同,但使用指定的版本作为源

  • git diff
    :这将比较两个指定修订的树,忽略索引和工作树

  • 因此,有时暂存区域是源或目标,有时根本不使用


    据说:不要向精灵寻求答案,因为他们会说“不”和“是”