使用git diff,如何显示从索引到给定提交的补丁?

时间:2016-07-20 09:09:40

标签: git

我完全清楚

git diff --cached <commit>

将显示从<commit>到我当前索引的补丁。但是,我希望从索引到给定的<commit>反过来获得补丁。这可能吗?如果是的话,怎么样?

推论: 如何从当前工作目录获取差异到<commit>或索引?

我想,我想要的是某种语法,它允许我在提交范围内指定索引或工作目录,如下所示:

git diff <index>..<commit>       #opposite of git diff --cached <commit>
git diff <workingDir>..<commit>  #opposite of git diff <commit>
git diff <workingDir>..<index>   #opposite of git diff

1 个答案:

答案 0 :(得分:1)

你是正确的,你需要一些语法,虽然不是能够命名索引或工作树,在这种情况下使用的语法是-R(反向差异)选项:

diff -R --cached <commit>

等等。 (比较两个提交时不需要这样做,因为你可以在命令行上交换它们,但是对于你注意到的情况需要它,它也适用于最后一种情况。)