我想获得Git存储库的提交数量,有点像SVN的修订号。

我们的目标是将其用作唯一的、递增的构建号。

我目前这样做,在Unix/Cygwin/msysGit上:

git log --pretty=format:'' | wc -l

但我觉得它有点过时了。

有更好的办法吗?如果我实际上不需要wc甚至Git,那么它就可以在裸Windows上工作,那就太棒了。只要读取一个文件或目录结构…


当前回答

你可以试试

git log --oneline | wc -l

或者列出存储库中贡献者所做的所有提交

git shortlog -s

其他回答

你可以试试

git log --oneline | wc -l

或者列出存储库中贡献者所做的所有提交

git shortlog -s

在构建期间生成一个数字并将其写入文件。每当您发布一个版本时,提交该文件并附上注释“Build 147”(或者当前的版本号)。不要在正常开发期间提交文件。通过这种方式,您可以轻松地在Git中的构建号和版本之间进行映射。

要获得两个分支(如feature分支和目标使用分支)之间不同的提交数:

Git rev-list——count feature_branch..target_branch

这个命令返回按提交者分组的提交计数:

git shortlog -s

输出:

14 John lennon
9  Janis Joplin

您可能想知道-s参数是——summary的缩写形式。

做一个别名怎么样?

alias gc="git rev-list --all --count"      #Or whatever name you wish