如何统计两个Git分支的提交总数?
如何计算两个Git分支的提交数之和
单命令实现
直接用一条命令就能算出两个分支的提交数总和,适合快速验证或直接嵌入脚本:
echo $(( $(git rev-list branch1 --count) + $(git rev-list branch2 --count) ))
git rev-list branch1 --count:统计branch1的总提交数$(...):把命令的输出结果作为值传入后续计算$(( ... + ... )):执行整数加法运算echo:输出最终的总和
如果分支名包含空格或特殊字符,记得给分支名加双引号,比如:
echo $(( $(git rev-list "feature/my-branch" --count) + $(git rev-list "bugfix/issue-123" --count) ))
分步脚本实现
如果觉得单命令太紧凑不好理解,可以拆成分步的脚本,更直观也方便调试:
# 1. 分别获取两个分支的提交数,存到变量里 BRANCH1_COMMITS=$(git rev-list branch1 --count) BRANCH2_COMMITS=$(git rev-list branch2 --count) # 2. 计算两个数的总和 TOTAL_COMMITS=$(( BRANCH1_COMMITS + BRANCH2_COMMITS )) # 3. 赋值给你的BUILD_NUMBER变量 BUILD_NUMBER=$TOTAL_COMMITS # 可选:打印结果确认 echo "branch1提交数:$BRANCH1_COMMITS" echo "branch2提交数:$BRANCH2_COMMITS" echo "总提交数(BUILD_NUMBER):$BUILD_NUMBER"
每一步单独执行,出问题时能轻松排查哪个分支的统计环节有问题。
内容的提问来源于stack exchange,提问作者Jonas P
相关产品推荐
相关产品推荐

