我已经找到了这个答案:在git的分支上提交的数量 但这假设分支是从master创建的。
我如何在不依赖于这个假设的情况下计算沿着分支提交的数量呢?
在SVN中,这是微不足道的,但由于某种原因,在git中很难解决。
我已经找到了这个答案:在git的分支上提交的数量 但这假设分支是从master创建的。
我如何在不依赖于这个假设的情况下计算沿着分支提交的数量呢?
在SVN中,这是微不足道的,但由于某种原因,在git中很难解决。
当前回答
你也可以 Git log | grep commit | wc -l
然后得到结果
其他回答
你可以在git bash/unix上使用awk命令来获取提交的数量。
git shortlog -s -n | awk '/Author/ { print $1 }'
如果您使用的是UNIX系统,则可以这样做
git log|grep "Author"|wc -l
要查看提交的总数,您可以按照Peter上面建议的方法执行
git rev-list --count HEAD
如果你想知道每个人提交的数量,试试这一行
git shortlog -s -n
会产生这样的输出吗
135 Tom Preston-Werner
15 Jack Danger Canty
10 Chris Van Pelt
7 Mark Reid
6 remi
计算你所在分支的提交次数:
git rev-list --count HEAD
对于分支
git rev-list --count <branch-name>
如果您想统计自创建分支以来在分支上所做的提交次数
git rev-list --count HEAD ^<branch-name>
这也将计算所有不在分支名称上的提交。
例子
git checkout master
git checkout -b test
<We do 3 commits>
git rev-list --count HEAD ^master
结果:3
如果你的分支来自于一个叫做develop的分支:
git checkout develop
git checkout -b test
<We do 3 commits>
git rev-list --count HEAD ^develop
结果:3
忽略合并
如果你在没有快进的情况下将另一个分支合并到当前分支中,并且执行上述操作,合并也会被计算在内。这是因为对于git来说,merge就是提交。
如果你不想计算这些提交,添加——no-merge:
git rev-list --no-merges --count HEAD ^develop
一种方法是列出分支的日志并计算行数。
git log <branch_name> --oneline | wc -l