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如何