计算git中所有分支上的标记创建和当前HEAD提交之间的提交次数

时间:2017-10-24 06:07:32

标签: git

Count the number of commits on a Git branch我已经了解到,自我的标签创建以来,如何获得单个分支上的提交次数。我的问题现在是如何获得绝对差异,因为标签是在我的存储库中的所有分支上创建的?

例如,我有我的分支主机,分支功能/ somefeature1,功能/ somefeature2,release / somerelease,以及我的Tag refs / tags / sometag1。

我希望总结所有提交,因为创建了refs / tags / sometag1。

1 个答案:

答案 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^{})"