0%

git | 相关命令 统计等

如何查看自己的工作量?如何统计 git 中的代码数据?

参考资料

下面这些只能统计一个分支内的代码,我写了一个开源项目,可以统计所有分支所有人的代码量,并且输出 xls 表格,详情请参考

查看git上的个人代码量:

1
git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

结果示例:(记得修改 username)

统计每个人增删行数

1
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

查看仓库提交者排名前 5

1
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

贡献值统计

1
git log --pretty='%aN' | sort -u | wc -l

提交数统计

1
git log --oneline | wc -l

添加或修改的代码行数

1
git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/'

拉取项目的所有分支

1
2
3
4
5
6
git clone  https://github.com/yansheng836/hello-world.git
# 要先进入仓库目录
cd hello-world
for b in `git branch -r | grep -v -- '->'`; do git branch --track ${b##origin/} $b; done # 本地初始化所有分支
git fetch --all
git pull --all
请我喝杯咖啡吧~