从Count the number of commits on a Git branch我已经了解到,自我的标签创建以来,如何获得单个分支上的提交次数。我的问题现在是如何获得绝对差异,因为标签是在我的存储库中的所有分支上创建的?
例如,我有我的分支主机,分支功能/ somefeature1,功能/ somefeature2,release / somerelease,以及我的Tag refs / tags / sometag1。
我希望总结所有提交,因为创建了refs / tags / sometag1。
答案 0 :(得分:1)
假设您正在谈论本地分支机构,您可以使用rev-list
执行完全相同的计数:
git rev-list --count --branches ^refs/tags/sometag1
所有相同的选项都适用于关联的问题,因此如果需要,您还可以传递--no-merges
之类的内容。
请注意,这解释了"因为"在拓扑或祖先意义上,如果你有一个从未合并的旧分支,那些未合并的提交将计入总数。
对于严格基于提交日期的解决方案,您可以执行以下操作:
git rev-list --count --branches --since="$(git show -s --format=%ct refs/tags/sometag1^{})"