编程一小时网站,WordPress关站插件,网页空间是什么意思,动漫画设计与制作是学什么本文介绍统计项目代码行的方式#xff0c;包括使用git log统计、git ls-files统计和使用linux命令行方式统计。
一、使用git log统计
1.统计所有代码行数
当前代码都存放在git仓库下#xff0c;当需进行代码行数统计时#xff0c;让开发人员在代码路径下运行如下指令包括使用git log统计、git ls-files统计和使用linux命令行方式统计。
一、使用git log统计
1.统计所有代码行数
当前代码都存放在git仓库下当需进行代码行数统计时让开发人员在代码路径下运行如下指令可统计出当前仓库中的代码行数 git log --prettytformat: --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 --since2019-01-01 --until2019-12-31 --prettytformat: --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 --until2019-12-31 --authorkaizen --prettytformat: --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 --prettytformat: --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 --prettytformat: --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 目录各类文件的总行数 find . ! -path ./.idea* ! -path ./.git* -type f |egrep \.(java|xml|vue|js|jsp|css|scss|html|json)$ | xargs cat | wc -l