You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git Log查询两标签间提交却出现其他标签区间提交的问题咨询

问题分析与解决

问题现象

执行命令:

git log --merges '7.0.8'...'7.0.9' --oneline

查询两个标签间的合并提交时,结果不仅包含7.0.8到7.0.9的提交,还出现了7.0.7到7.0.8区间的合并提交,期望仅获取最后一个提交3f5c081。

原因解释

Git中...和..的范围语义完全不同:

  • A...B:显示对称差提交,即所有能从A或B到达,但不能从两者共同祖先到达的提交。这意味着它会同时包含A相对于共同祖先的新增提交,以及B相对于共同祖先的新增提交。
  • 你看到的额外提交,正是7.0.8相对于7.0.8与7.0.9共同祖先的新增提交,所以被包含在了7.0.8...7.0.9的结果里。

解决方案

要仅获取7.0.8到7.0.9区间内的合并提交,需要使用两点..的范围语法,它表示所有能从B到达但不能从A到达的提交,也就是B相对于A的新增提交:

git log --merges 7.0.8..7.0.9 --oneline

额外验证

可以通过以下命令查看7.0.8和7.0.9的共同祖先,进一步理解范围逻辑:

git merge-base 7.0.8 7.0.9

内容的提问来源于stack exchange,提问作者Goopalo David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 11:04:55