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

如何获取Git两个版本发布之间新增的提交记录?

问题:获取两个版本间新增提交列表的脚本优化

我需要获取两个版本发布之间新增的提交列表,为此编写了一段脚本,思路是找到两个版本的共同祖先并列出该节点之后的提交,但结果中包含了过旧的提交。

原始脚本

set -euo pipefail

git fetch origin


last_release=hotfix/x.y.z
this_release=release/t.f.g

function get_last_commit()
{

    branch=$1
    rev=$(git log -n1 origin/$branch --format=%h)
    echo >&2 "Last commit on $branch: $rev"

    echo $rev
}


export rev_develop=$(get_last_commit develop)
export rev_last=$(get_last_commit $last_release)
export rev_this=$(get_last_commit $this_release)


export common_ancestor=$(git merge-base --octopus $rev_this $rev_develop $rev_last)
echo >&2 "common ancestor: $common_ancestor"

git log --oneline $common_ancestor..$rev_this

优化后的方案

根据@torek的建议移除--octopus参数后,已能正确获取当前版本最后提交与共同祖先之间的提交;另外添加以下命令可获取hotfix分支中未合并回develop的提交:

git log --oneline $common_ancestor..$rev_last

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:56:09