我正在寻找一些好的工具/脚本,允许我从git存储库生成一些统计数据。我在一些代码托管网站上看到过这个功能,它们包含了这样的信息……

每个作者提交 每天/每周/每年/等等提交。 代码行数随时间变化 图 ... 更

基本上,我只是想了解我的项目随着时间的推移增长了多少,哪个开发人员提交了最多的代码,等等。


当前回答

Repostat是gitstats工具的一个增强的分支。

我不确定它是否以任何方式与pypi上同名的项目相关,所以你最好从GitHub下载最新版本并将其安装到你的Python环境中。

截至2019年11月,在PATH中提供gnuplot后,我能够在Windows 7下使用v1.2.0。


usage: repostat [-h] [-v] [-c CONFIG_FILE] [--no-browser] [--copy-assets]
                git_repo output_path

Git repository desktop analyzer. Analyze and generate git statistics in HTML
format

positional arguments:
git_repo              Path to git repository
output_path           Path to an output directory

optional arguments:
-h, --help            show this help message and exit
-v, --version         show program's version number and exit
-c CONFIG_FILE, --config-file CONFIG_FILE
                        Configuration file path
--no-browser          Do not open report in browser
--copy-assets         Copy assets (images, css, etc.) into report folder
                        (report becomes relocatable)

其他回答

每个作者提交

git shortlog -s -n 

Git-bars可以显示“每天/每周/每年/等等提交”。

您可以使用pip install git-bars (cf. https://github.com/knadh/git-bars)安装它。

输出如下所示:

$ git-bars -p month
370 commits over 19 month(s)
2019-10  7    ▀▀▀▀▀▀
2019-09  36   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-08  7    ▀▀▀▀▀▀
2019-07  10   ▀▀▀▀▀▀▀▀
2019-05  4    ▀▀▀
2019-04  2    ▀
2019-03  28   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-02  32   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2019-01  16   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-12  41   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-11  52   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-10  57   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-09  37   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-08  17   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2018-07  1    
2018-04  7    ▀▀▀▀▀▀
2018-03  12   ▀▀▀▀▀▀▀▀▀▀
2018-02  2    ▀
2016-01  2    ▀

我在ruby中做一个git仓库统计生成器,它被称为git_stats。

您可以在项目页面上找到为一些存储库生成的示例。

以下是它能做的事情:

一般的统计数据 文件总数(文本和二进制) 总行数(添加和删除) 总犯 作者 活动(总数和每个作者) 按日期提交 按小时提交 按星期的一天提交 按每周的小时提交 按每年的月份提交 按年提交 按年和月提交 作者 由作者提交 作者新增行数 被作者删除的行 作者修改的行数 文件和行 按日期 通过扩展

如果您有任何想法要添加或改进,请让我知道,我将感谢任何反馈。

只是想把gitqlite添加到这里的混合答案中,这是一个命令行工具,允许对git数据执行SQL查询,比如SELECT * FROM commit WHERE author_name = 'foo'等。

完全公开,我是项目的创建者/维护者!

就在昨天,我添加了我的git-analytics docker-compose文件,它构建了几个容器,开始分析多个git存储库。

它能够向您显示关于作者的一段时间的提交统计数据,以及一些不同的统计数据。

你可以使用提供的angular客户端和kibana来可视化统计数据。

https://github.com/alexejsailer/git-analytics-docker

随着时间的推移,它会得到改善。

Angular客户端截图

Kibana客户端截图

]