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

如何获取基准分支两次版本分支切割间的Git提交记录?

获取两次版本分支切割间的Git提交列表

核心思路

由于无法确定上次切割的时间,我们可以通过Git分支的元数据找到最近创建的release/前缀分支,再定位它从master分支切割时的提交点,最后对比当前master的提交,就能精准获取两次切割间的所有提交。

具体操作命令

1. 找到最近创建的release分支

这条命令会列出所有release/前缀的分支,按创建时间倒序排列,取第一个结果就是上一次切割的分支:

git for-each-ref --sort=-creatordate refs/heads/release/ --format="%(refname:short)" | head -n 1

示例输出:release/1.0(对应你提到的release1)

2. 定位切割时的master提交点

通过merge-base命令找到该release分支与master的共同祖先(即切割时master的HEAD提交):

git merge-base master <上一步得到的release分支名>

示例:

git merge-base master release/1.0

输出结果为一个提交哈希,记为<切割点哈希>

3. 列出两次切割间的提交

用git log对比切割点到当前master的所有提交,--oneline参数让输出更简洁:

git log --oneline <切割点哈希>..master

一键整合命令

无需手动复制哈希或分支名,直接用这条命令完成所有操作:

git log --oneline $(git merge-base master $(git for-each-ref --sort=-creatordate refs/heads/release/ --format="%(refname:short)" | head -n 1))..master

补充说明

  • 若这是第一次切割release分支(无历史release分支),该命令会列出master从初始提交到当前的所有提交,符合预期。
  • 输出的提交列表完全匹配两次切割间master的新增提交,不受提交数量、切割时间的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:27:23