git describe 将是获取此类信息的最接近的方式,正如 other SO question 中所建议的那样
[torvalds@g5 git]$ git describe parent
v1.0.4-14-g2414721
即我的“父”分支的当前负责人基于v1.0.4,但由于它还有一些提交,describe 添加了额外提交的数量(“14”)和提交本身的缩写对象名称(“2414721”)。
额外提交的数量是由“git log v1.0.4..parent”显示的提交数量。
哈希后缀是“-g”+ 7-char父级提示提交的缩写(即2414721b194453f058079d897d13c4e377f92dc6)。
请注意,Git 2.22(2019 年第二季度)修改了最后一句,因为虽然最小值为 7 个字符,但明确的长度可以更长。
git describe documentation 现在说:
hash 后缀是“-g”+unambiguous 是tip commit 的缩写
父母的(2414721b194453f058079d897d13c4e377f92dc6)。
参见Philip Oakley (PhilipOakley)commit ffea024(2019 年 4 月 6 日)。
(由 Junio C Hamano -- gitster -- 合并到 commit 18c3ae0,2019 年 4 月 25 日)
当然,你可以随时count your commits
git shortlog -s -n
135 Tom Preston-Werner
15 Jack Danger Canty
10 Chris Van Pelt
-s 选项将所有提交消息压缩为提交次数,-n 选项按提交次数对列表进行排序。
此命令对changelogs 也很有用,因为您可以轻松转储每个人所做的所有更改。
还有其他一些简洁的选项:
-e 将附加电子邮件,您可以使用 -w 控制列宽。
查看manpage 了解更多信息。
使用 Git 2.33(2021 年第三季度),您可以了解更多关于 git describe 确切输出格式的信息:
参见Anders Höckersten (ahockersten)commit bfe35a6(2021 年 5 月 17 日)。
(由 Junio C Hamano -- gitster -- 合并于 commit d8c6dc2,2021 年 6 月 10 日)
签字人:Anders Höckersten
明确 git describe 中用于提交的缩写形式的默认长度。
在 Git 2.11.0 中修改了该行为,但未更新文档以阐明新行为。
git describe 现在包含在其man page 中:
而不是使用默认的十六进制数字(即
将根据存储库中的对象数量而有所不同
默认为 7) 的缩写对象名称,使用 <n> 数字,或
构成唯一对象名称所需的位数。
git describe 现在包含在其man page 中:
哈希后缀是“-g”+提示提交的明确缩写
父母的(2414721b194453f058079d897d13c4e377f92dc6)。
这
缩写的长度随着存储库的增长而缩放,使用
存储库中对象的近似数量和一些数学运算
围绕生日悖论,默认为至少 7 个。