我想获得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 shortlog -s -n
结果:
827 user one
15 user two
2 Gest
其他回答
git rev-list HEAD -count
git rev-list
Git rev-list <commit>: 列出通过从给定提交(在本例中为HEAD)的父链接可以到达的提交。
——count:打印一个数字,说明有多少提交被列出,并抑制所有其他输出。
Git shortlog是获取提交细节的一种方法:
git shortlog -s -n
这将给出提交数和作者名称。s选项删除作者每次提交的所有提交消息。如果还希望看到提交消息,则删除相同的选项。-n选项用于对整个列表进行排序。希望这能有所帮助。
在构建期间生成一个数字并将其写入文件。每当您发布一个版本时,提交该文件并附上注释“Build 147”(或者当前的版本号)。不要在正常开发期间提交文件。通过这种方式,您可以轻松地在Git中的构建号和版本之间进行映射。
你可以用:
git shortlog -s -n
结果:
827 user one
15 user two
2 Gest
要获得两个分支(如feature分支和目标使用分支)之间不同的提交数:
Git rev-list——count feature_branch..target_branch