协慌网

登录 贡献 社区

如何获取 Git 提交计数?

我想获取我的 Git 存储库的提交次数,有点像 SVN 版本号。

目标是将其用作唯一的,递增的内部版本号。

我目前在 Unix / Cygwin / msysGit 上确实喜欢这样:

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

但是我觉得这有点 hack。

有更好的方法吗?如果我实际上不需要wc甚至 Git,那将很酷,因此它可以在裸机上运行。只需读取文件或目录结构...

答案

要获取修订的提交计数( HEADmaster ,提交哈希):

git rev-list --count <revision>

要获取所有分支的提交计数:

git rev-list --all --count

我建议不要将其用作构建标识符,但是,如果必须这样做,最好将计数用于构建的分支。这样,同一修订版将始终具有相同的编号。如果将计数用于所有分支,则其他分支上的活动可能会更改该数字。

git shortlog是一种方法。

git rev-list HEAD --count

git rev 列表

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

--count :打印一个数字,说明将列出多少个提交,并取消所有其他输出。