这篇具有很好参考价值的文章主要介绍了git代码行统计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。
本文介绍统计项目代码行的方式,包括使用git log统计、git ls-files统计和使用linux命令行方式统计。
一、使用git log统计
1.统计所有代码行数
当前代码都存放在git仓库下,当需进行代码行数统计时,让开发人员在代码路径下运行如下指令,可统计出当前仓库中的代码行数:
git log --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 }' |
2.统计一定时间内产生的代码行数
此处提供时间参数执行方式,`--since`:起始时间,`--until`:终止时间:
--since = 2019 - 01 - 01 --until == 2019 - 12 - 31 git log --since= 2019 - 01 - 01 --until== 2019 - 12 - 31 --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 }' |
3.统计指定开发者一段时间内产生的代码行数
此处提供指定开发者执行方式,和时间参数可以同时使用,`–author`:开发者账号名称:
git log --since = 2019 - 01 - 01 --until== 2019 - 12 - 31 --author= "kaizen" --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 }' |
4.统计个人提交次数(前10)
git log --pretty= '%aN' | sort | uniq -c | sort -k1 -n -r | head -n 10 |
5.按人统计代码量
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 }' -; done |
6.统计指定文件类型的行数
find . "(" -name "*.java" -or -name "*.xml" -or -name "*.yml" -or -name "*.properties" ")" -print | xargs wc -l |
7.统计所有行数
git log --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 }' |
二、使用git ls-files统计
统计行数
git ls-files | xargs cat | wc -l |
上面两个命令只统计行数,没有细分到文件,下面这个命令是会把每个文件都列出来,并统计每个文件的行数。
git ls-files | xargs wc -l |
三、使用linux 命令统计
计算当前目录下前端、后端文件的总行数
find . -type f |egrep "\.(java|xml|vue|js|jsp|css|scss|html|json)$" | xargs cat | wc -l |
计算当前目录下(排除 ./.idea、./.git 目录)各类文件的总行数文章来源:https://www.toymoban.com/news/detail-752878.html
find . ! -path './.idea*' ! -path './.git*' -type f |egrep "\.(java|xml|vue|js|jsp|css|scss|html|json)$" | xargs cat | wc -l 文章来源地址https://www.toymoban.com/news/detail-752878.html |
到了这里,关于git代码行统计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!