GitStats-统计Git所有提交记录工具

Java71

如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况:

  • 该仓库的代码谁提交的代码最多
  • 该仓库的活跃度是什么样子的
  • 各个时段的提交分析数据
  • 每个版本的贡献排名情况
  • 每周/每月/每年的贡献排名等等

几天前发现一个 Git 历史统计信息生成工具叫 GitStats (http://gitstats.sourceforge.net/)

这是一个用 python 写的,代码量很少,功能却非常强大的分析工具,也是我目前发现为数不多的可以生成漂亮的报告并且使用很方便的开源项目。

一、如何使用

安装依赖:Git,Python,Gnuplot。

如果有 Linux,推荐在 Linux 上下载和安装。我曾尝试用 Windows 来准备环境,要下载 Python2,配置 Cygwin,还要手动配置 Gnuplot (Gnuplot 是一个可移植的命令行驱动的图形工具),挺麻烦的。以下是我在 Linux 上来的安装和使用步骤。

```csharp

下载 Python 2sudo yum -y install python27# 安装 Gnuplotsudo yum -y install gnuplot# 下载 gitstats# 如果下面项目地址失效,可使用这个 https://gitee.com/jeffreyu/gitstats.gitgit clone https://github.com/hoxu/gitstats.git# 下载你要分析的代码仓库git clone https://github.com/alibaba/fastjson.git# 执行命令,生产报告cd gitstats./gitstats ./fastjson ../html/fastjson# 经过 15 秒钟的执行,生成报告Generating report...[0.00393] >> git --git-dir=/workspace/gitstats/.git --work-tree=/workspace/gitstats rev-parse --short HEAD[0.00236] >> git --version[0.00716] >> gnuplot --versionGenerating graphs...[0.01676] >> gnuplot "/workspace/html/fastjson/day_of_week.plot"[0.01571] >> gnuplot "/workspace/html/fastjson/files_by_date.plot"[0.01281] >> gnuplot "/workspace/html/fastjson/month_of_year.plot"[0.09293] >> gnuplot "/workspace/html/fastjson/lines_of_code_by_author.plot"[0.01340] >> gnuplot "/workspace/html/fastjson/commits_by_year.plot"[0.01799] >> gnuplot "/workspace/html/fastjson/hour_of_day.plot"[0.01627] >> gnuplot "/workspace/html/fastjson/domains.plot"[0.01268] >> gnuplot "/workspace/html/fastjson/commits_by_year_month.plot"[0.09435] >> gnuplot "/workspace/html/fastjson/commits_by_author.plot"[0.01522] >> gnuplot "/workspace/html/fastjson/lines_of_code.plot"Execution time 15.16208 secs, 4.58247 secs (30.22 %) in external commands)You may now run:

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长