gateface能用来做网站吗,专业的做网站的,阿里云搜索,室内设计专业就业前景win10_Git基于WSL#xff08;Linux子系统#xff09;统计代码行数命令
一、引言
找到的基于git统计代码行数的命令#xff0c;一般都是基于linux系统的shell命令。在使用mac电脑或者linux系统开发时#xff0c;执行这些命令比较方便。 但是还有大部分人是使用windows做开…win10_Git基于WSLLinux子系统统计代码行数命令
一、引言
找到的基于git统计代码行数的命令一般都是基于linux系统的shell命令。在使用mac电脑或者linux系统开发时执行这些命令比较方便。 但是还有大部分人是使用windows做开发这时就遇到麻烦了因为基于shell的统计命令不能在windows系统下运行。 2022年11月16日微软 Win11/10 Linux 子系统 WSL 1.0.0 正式版发布。这也为这些在windows上做研发的人们提供了执行原生linux命令提供了遍历。 以下就说下在windows系统下基于WSL使用Git命令统计工程代码行数的方法。 如何在windows系统下安装wsl请查看windows1019044_1706离线安装wsl。 也可以使用一些工具统计如cloc 工具下载地址
cloc-1.72版本cloc最新版本git地址
二、使用cmd、powershell执行的问题
使用powershell工程根目录下执行git命令会报如下错误
PS xxxxx git ls-files | xargs cat | wc -l
xargs : 无法将“xargs”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写如果包括路径请确保路径正确然后再试一次。
所在位置 行:1 字符: 16git ls-files | xargs cat | wc -l~~~~~ CategoryInfo : ObjectNotFound: (xargs:String) [], CommandNotFoundException FullyQualifiedErrorId : CommandNotFoundException
三、在工程目录下进入wsl
3.1 首先在命令行工具下进入工程根目录并执行以下下命令统计当前工程代码行数
PS d:\myproject cd d:\myproject
PS d:\myproject wsl
To run a command as administrator (user root), use sudo command.
See man sudo_root for details.testDESKTOP-2VBQPJK:/mnt/d/myproject$ git ls-files | xargs cat | wc -l
16194
testDESKTOP-2VBQPJK:/mnt/d/myproject$ exit
logout
PS d:\myproject命令说明
wsl #进入linux子系统git ls-files | xargs cat | wc -l #执行统计代码行数命令exit #退出windows子系统
四、执行代码统计
4.1 常用的两个命令
1、统计当前项目代码行数
git ls-files | xargs cat | wc -l2、细分每个文件的代码行数相当于把上面命令细化
git ls-files | xargs wc -l4.2 其它命令
1、统计某个时间段内的代码行数
–since统计开始时间
–until统计结束时间git log --since2020-01-01 --until2020-07-01 --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、统计某个人某个时间段内的代码行数
–author代码提交人/用户名
–since统计开始时间
–until统计结束时间git log --authorusername --since2020-01-01 --until2020-07-01 --format’%aN’ | sort -u | while read name; do echo -en “KaTeX parse error: Undefined control sequence: \t at position 5: name\̲t̲; git log --au…name” --prettytformat: --numstat | grep “(.html|.java|.xml|.properties)$” |awk ‘{ add $1; subs $2; loc $1 - $2 } END { printf “added lines: %s, removed lines: %s, total lines: %s\n”, add, subs, loc }’ -; done3、统计每个用户的所有提交代码行数包括增、删、修改等
git log --format’%aN’ | sort -u | while read name; do echo -en “KaTeX parse error: Undefined control sequence: \t at position 5: name\̲t̲; git log --au…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 }’ -; done4、仓库提交者排名前 5如果看全部去掉 head 管道即可
git log --pretty’%aN’ | sort | uniq -c | sort -k1 -n -r | head -n 55、统计某个用户的所有提交代码行数
git log --author“username” --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 }’6、统计代码提交的人数也称统计仓库提交贡献者
git log --pretty’%aN’ | sort -u | wc -l7、统计总提交次数
git log --oneline | wc -l8、统计所有Java代码总行数提交修改的信息有明细展示
find . “(” -name “*.java” “)” -print | xargs wc -l9、统计所有其他文件总行数提交修改的信息有明细展示
find . “(” -name “.m -or -name .mm” -or -name “.cpp -or -name .h” -or -name “.rss “)” -print | xargs wc -l
可以按需要添加对应的文件后缀
-or -name .文件后缀”10、统计所有文件提交记录明细
git ls-files | xargs wc -l11、查看最近几次的提交记录
git log -p -2
-2可修改数字查看最近几次的提交记录