我想获取我的 Git 存储库的提交次数,有点像 SVN 版本号。
目标是将其用作唯一的,递增的内部版本号。
我目前在 Unix / Cygwin / msysGit 上确实喜欢这样:
git log --pretty=format:'' | wc -l
但是我觉得这有点 hack。
有更好的方法吗?如果我实际上不需要wc
甚至 Git,那将很酷,因此它可以在裸机上运行。只需读取文件或目录结构...
要获取修订的提交计数( HEAD
, master
,提交哈希):
git rev-list --count <revision>
要获取所有分支的提交计数:
git rev-list --all --count
我建议不要将其用作构建标识符,但是,如果必须这样做,最好将计数用于构建的分支。这样,同一修订版将始终具有相同的编号。如果将计数用于所有分支,则其他分支上的活动可能会更改该数字。
git shortlog
是一种方法。
git rev-list HEAD --count
git rev-list <commit>
:列出通过遵循给定提交的父链接可到达的提交(在本例中为HEAD )。
--count
:打印一个数字,说明将列出多少个提交,并取消所有其他输出。