0%

git仓库代码统计

虽然以代码行数来衡量项目或者程序员并不是一件靠谱的事,但是从统计角度看趋势对于技术管理人员还是很有帮助的!推荐一个比较好用的git仓库代码统计工具:git_stats,它用于按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便。实际上,这么多功能通常都是用WEB在多个页面上显示的,git_stats也是如此,它需要你先安装好ruby以生成基础的页面,再用gem安装好git_stats,最后用git_stats一条语句即可生成展示页面。这些静态页面如需共享,那么搭个nginx显示静态页面即可。

废话不多说,演示下步骤: 1、首先到ruby官网(http://www.ruby-lang.org/en/downloads/)上下载最新源码包,例如2.5.1版本,解决后,执行linux下以源码安装习惯用的三招:configure/make/make install。 2、接下来使用gem安装git_stats命令:

1
gem install git_stats

3、最后进入你要统计的git代码仓库根目录下,执行命令:

1
git_stats generate -o stats --language zh_tw

这里,-o是指定了html页面的输出目录,而输出目录里共包含了以下页面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
├── activity
│   ├── by_date.html #按日期统计活跃度
│   ├── day_of_week.html
│   ├── hour_of_day.html
│   ├── hour_of_week.html
│   ├── month_of_year.html
│   ├── year.html
│   └── year_month.html
├── assets #库文件
├── authors #作者数量,并可按作者进行活跃度统计
│   ├── administrator #每一个作者一个目录
│   │   ├── activity
│   │   │   ├── by_date.html
│   │   │   ├── day_of_week.html
│   │   │   ├── hour_of_day.html
│   │   │   ├── hour_of_week.html
│   │   │   ├── month_of_year.html
│   │   │   ├── year.html
│   │   │   └── year_month.html
│   │   └── author_details
│   │   ├── changed_lines_by_date.html
│   │   ├── commits_by_date.html
│   │   ├── deletions_by_date.html
│   │   └── insertions_by_date.html
│   ├── best_authors.html
│   ├── changed_lines_by_author_by_date.html
│   ├── commits_sum_by_author_by_date.html
│   ├── deletions_by_author_by_date.html
│   └── insertions_by_author_by_date.html
├── comments #注释统计
│   └── by_date.html
├── files #文件统计
│   ├── by_date.html
│   └── by_extension.html
├── general.html
├── index.html
└── lines #代码行统计
├── by_date.html
└── by_extension.html

4、搭建nginx用以展示页面。实际上仅需要在配置好的location内加个alias指向上一步中-o选项生成的目录即可。 可见,该工具生成的页面有助于我们统计代码库中总体的代码提交趋势,以及每个coder的代码提交趋势,对于技术管理是有意义的。以下是我截取的最好用的两个页面,首先是按日期统计活跃度:
按日期统计代码行数也很好用,虽然代码行数并不能反映出个人的贡献量,但是一些明显不靠谱的事还是能够从这里发现的。