git diff在分支的x提交中更改了文件

git diff在分支的x提交中更改了文件,git,branch,diff,Git,Branch,Diff,任务是输出在origin/1.5.0分支的最后5次提交中更改的文件 如果没有分支需求,我会想到:git diff——仅名称头~5。对于分支需求,我尝试了git diff--name only HEAD~5--first parent origin/1.5.0,但输出更长。添加条件不应该产生更多的结果,这意味着有些事情我不明白。我哪里出错了?我认为使用“origin/1.5.0”,命令更改为比较HEAD~5和branch origin/1.5.0。这与没有分支的差异大得多。git diff命令总是

任务是输出在
origin/1.5.0
分支的最后5次提交中更改的文件


如果没有分支需求,我会想到:
git diff——仅名称头~5
。对于分支需求,我尝试了
git diff--name only HEAD~5--first parent origin/1.5.0
,但输出更长。添加条件不应该产生更多的结果,这意味着有些事情我不明白。我哪里出错了?

我认为使用“origin/1.5.0”,命令更改为比较HEAD~5和branch origin/1.5.0。这与没有分支的差异大得多。

git diff命令总是比较两个提交树或文件树。选项和参数选择哪两个(以及如何进行差异,例如,
--name only
--name status
跳过差异的补丁部分)

如果运行
git diff HEAD~5
,您选择的两个选项是:

  • HEAD~5
    :提交从当前提交的
    HEAD
    后退五步
  • 当前工作树
  • 为了比较,如果运行
    git diff--cached HEAD~5
    ,则选择
    HEAD~5
    和当前索引,如果运行
    git diff HEAD~10 HEAD~5
    则选择
    HEAD~10
    HEAD~5

    请注意,
    ~number
    语法来自。波浪号后缀后跟整数可以应用于任何其他提交选择器,例如原始哈希ID、名称
    、您自己的分支或标记之一的名称,或任何远程跟踪分支的名称。由于
    origin/1.5.0
    是远程跟踪分支的名称,因此可以使用该名称指定该名称所指向的提交,或者添加一个波浪号和一个数字,以将许多第一个父级步骤从该点向后移动

    因此:

    git diff --name-only origin/1.5.0~5 origin/1.5.0
    
    将比较两个指定的提交,仅显示这两个提交中不相同的文件名



    1在一些有趣的情况下,您可以使其表现不同,但它们不是我们关心的问题。

    好的,这实际上是有道理的。那么,我应该如何完成这项任务呢?git diff——仅限名称的origin/1.5.0~5如何