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

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

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

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

但我觉得它有点过时了。

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


当前回答

一个简单的方法是:

 git log --oneline | wc -l

Oneline确保了这一点。

其他回答

Git配置——全局别名。计数“rev-list—all—Count”

如果你把它添加到你的配置中,你可以只引用命令;

git 计数

Git shortlog是一种方法。

我以前用的是:

git log | grep "^commit" | wc -l

简单但有效。

git rev-parse——短头

git rev-list HEAD -count

git rev-list

Git rev-list <commit>: 列出通过从给定提交(在本例中为HEAD)的父链接可以到达的提交。

——count:打印一个数字,说明有多少提交被列出,并抑制所有其他输出。