Git 查看提交行数和删除行数

Git 提供了多种方式来查看代码变更的行数统计,包括新增行数和删除行数。以下是几种常用的方法:

图片[1]_Git 查看提交行数和删除行数_知途无界

1. 使用 git log 结合 --stat--shortstat

查看最近提交的行数统计

git log --stat

这会显示每个提交的详细变更统计,包括每个文件的新增和删除行数。

只查看简略统计(提交次数、新增行数、删除行数)

git log --shortstat

输出示例:

 3 files changed, 45 insertions(+), 12 deletions(-)

查看特定时间范围内的提交统计

git log --since="2023-01-01" --until="2023-12-31" --shortstat

2. 使用 git log 结合 --numstat

--numstat 会提供更详细的行数统计,包括每个文件的新增和删除行数:

git log --numstat

输出示例:

1       0       src/main/java/com/example/MyClass.java
2       1       src/test/java/com/example/MyTest.java

这表示:

  • 第一行:src/main/java/com/example/MyClass.java 文件新增了1行,删除了0行
  • 第二行:src/test/java/com/example/MyTest.java 文件新增了2行,删除了1行

3. 使用 git diff 查看特定提交的行数统计

查看最近一次提交的行数统计

git diff --stat HEAD^ HEAD

或者使用简略统计:

git diff --shortstat HEAD^ HEAD

查看两个提交之间的行数统计

git diff --stat <commit1> <commit2>

例如:

git diff --stat abc123 def456

4. 使用 git log 结合 --pretty=format--numstat 进行自定义统计

可以结合使用这些选项来生成自定义的统计报告:

git log --numstat --pretty=format:"%h - %an, %ar : %s" | awk 'NF==3 {plus+=$1; minus+=$2} NF==1 {printf "%s: +%d, -%d\n", $0, plus, minus; plus=0; minus=0}'

这会输出每个提交的新增和删除行数统计。

5. 使用第三方工具

git-extras 的 git summary 命令

如果你安装了 git-extras,可以使用 git summary 命令:

git summary

这会显示每个开发者的提交统计,包括新增和删除行数。

cloc (Count Lines of Code)

虽然不是Git专用工具,但可以结合Git使用来统计代码行数:

git ls-files | xargs cloc

这会统计当前工作目录中所有被Git跟踪的文件的代码行数。

6. 查看特定作者的提交行数统计

git log --author="Author Name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2 } END { printf "Added: %s, Removed: %s\n", add, subs }'

将 “Author Name” 替换为实际的作者名。

7. 查看特定文件的行数变更

git log --numstat --follow -- <file-path>

例如:

git log --numstat --follow -- src/main/java/com/example/MyClass.java

这会显示该文件的所有变更历史中的行数统计。

总结

  • 快速查看最近提交的行数统计git log --shortstat
  • 查看每个文件的详细行数变更git log --numstat
  • 查看特定提交之间的行数统计git diff --stat <commit1> <commit2>
  • 自定义统计报告:结合 --numstatawk 进行自定义统计
  • 第三方工具:如 git-extrascloc 可以提供更丰富的统计功能

这些命令可以帮助你了解代码库的变更情况,特别是在代码审查、项目评估或个人贡献统计时非常有用。

© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞25 分享
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容