分享一个git命令,用来统计代码行数
git log --author="$(git config user.email)" --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 log --author=“$(git config user.email)” --pretty=tformat: --numstat:这部分会遍历所有提交,并输出每次提交中每个文件增加和删除的行数。这里我们通过–author参数限制只统计特定作者(当前配置的用户)的贡献,如果你想要统计仓库中所有人的贡献,可以去掉–author部分。–pretty=tformat:确保不输出额外的信息,仅保留增删行数。
- awk ‘{ add += $1; subs += $2; loc += $1 - $2 } END { printf “Added lines: %s, Removed lines: %s, Total lines: %s\n”, add, subs, loc }’:这部分用于计算总计的增加行、删除行以及净增行数(即增加行减去删除行)。
这样你就可以得到从项目开始到现在的代码行数统计情况了。注意,这个命令需要在Git仓库目录下运行。如果想查看整个仓库而非某个特定作者的统计数据,则需移除–author="$(git config user.email)"部分。