我想获得Git存储库的提交数量,有点像SVN的修订号。
我们的目标是将其用作唯一的、递增的构建号。
我目前这样做,在Unix/Cygwin/msysGit上:
git log --pretty=format:'' | wc -l
但我觉得它有点过时了。
有更好的办法吗?如果我实际上不需要wc甚至Git,那么它就可以在裸Windows上工作,那就太棒了。只要读取一个文件或目录结构…
我想获得Git存储库的提交数量,有点像SVN的修订号。
我们的目标是将其用作唯一的、递增的构建号。
我目前这样做,在Unix/Cygwin/msysGit上:
git log --pretty=format:'' | wc -l
但我觉得它有点过时了。
有更好的办法吗?如果我实际上不需要wc甚至Git,那么它就可以在裸Windows上工作,那就太棒了。只要读取一个文件或目录结构…
当前回答
Git配置——全局别名。计数“rev-list—all—Count”
如果你把它添加到你的配置中,你可以只引用命令;
git 计数
其他回答
有一些很酷的方法可以做到这一点
第一个方法
git shortlog -s
该命令打印所有参与repo的用户的提交计数列表。
956 Pankaj Tanwar
235 The Ninja
540 The Hardcore Geek
664 The Ever Shining Star
984 The Experienced Man
简单地说,要获得总提交数-
git shortlog -s |抓住“潘卡伊·坦瓦尔”
它打印-
956 Pankaj Tanwar
另一种干净又酷的方法是-
git rev-list HEAD --author="Pankaj Tanwar" --count
要计算贡献的代码行数和提出的拉请求总数,请查看此博客
Git shortlog是一种方法。
获取一个修订的提交计数(HEAD, master,一个提交哈希):
git rev-list --count <revision>
要获得所有分支的提交计数:
git rev-list --all --count
我不建议将此用于构建标识符,但如果必须,最好将此计数用于构建所针对的分支。这样,相同的修订将总是有相同的数字。如果对所有分支使用该计数,其他分支上的活动可能会改变该数字。
Git shortlog是获取提交细节的一种方法:
git shortlog -s -n
这将给出提交数和作者名称。s选项删除作者每次提交的所有提交消息。如果还希望看到提交消息,则删除相同的选项。-n选项用于对整个列表进行排序。希望这能有所帮助。
有一个很好的帮助脚本,Git人员使用它来帮助生成一个基于Git描述的有用的版本号。我展示了脚本,并在回答如何在Git项目的文件中包含当前提交id时解释了它。