首页 > 解决方案 > 来自整个 git 存储库历史的原始代码总行数

问题描述

有没有办法统计 git 存储库中添加/删除/修改的总行数?许多帖子通过分析其中的文件给出了“这个项目在某个提交时有多少个位置”的答案,它并没有让人感觉在整个过程中尝试、放弃和改变了多少不同的事情项目的生命周期。并且只是检查每一个提交并说明并总结这也没有意义,因为从提交到提交通常有相当多的冗余。

标签: gitcode-metrics

解决方案


想不出回购级别的东西,但以下可以在分支级别工作:

选项 1

git diff --shortstat $(git rev-list --max-parents=0 HEAD) @

示例输出

9 files changed, 273 insertions(+), 4 deletions(-)

或者

git diff --numstat $(git rev-list --max-parents=0 HEAD) @

示例输出(由每个文件的行插入行删除详细说明):

10      4       rest-api.ps1 => auditlog.ps1
15      0       azlabshow.ps1
34      0       create-pr.ps1
26      0       get-build-time.ps1
25      0       getchangesets.ps1
42      0       listreleases.ps1
40      0       listusers-csv.ps1
43      0       merge-refs.ps1
38      0       testplans(outcome).ps1

通过将 HEAD (@) 与初始提交进行比较来使用git diff 。使用 bash。


推荐阅读