早上收到pmo邮件,要求统计某个时间范围内代码提交行数,一开始是懵逼的,不只如何下手,后来想到git这么强大的工具,这点小事应该能做到,于是乎搜索了一下,命令如下:

git log --since ==2017-04-10 --until=2017-07-10 | wc -l
1822

其他的命令(以下来自于网络):

统计某人的代码提交量,包括增加,删除:

git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' -

仓库提交者排名前 5(如果看全部,去掉 head 管道即可):

git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

仓库提交者(邮箱)排名前 5:这个统计可能不会太准,因为很多人有不同的邮箱,但会使用相同的名字

git log --pretty=format:%ae | gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }' | sort -u -n -r | head -n 5

贡献者统计:

git log --pretty='%aN' | sort -u | wc -l

提交数统计:

git log --oneline | wc -l

添加或修改的代码行数:

git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/;

git log 参数说明:
--author   指定作者
--stat   显示每次更新的文件修改统计信息,会列出具体文件列表
--shortstat    统计每个commit 的文件修改行数,包括增加,删除,但不列出文件列表:  
--numstat   统计每个commit 的文件修改行数,包括增加,删除,并列出文件列表:
 
   
-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
       例如:git log -p  -2
--name-only 仅在提交信息后显示已修改的文件清单
--name-status 显示新增、修改、删除的文件清单
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符
--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)
--graph 显示 ASCII 图形表示的分支合并历史
--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)
       例如: git log --pretty=oneline ; git log --pretty=short ; git log --pretty=full ; git log --pretty=fuller
--pretty=tformat:   可以定制要显示的记录格式,这样的输出便于后期编程提取分析
       例如:git log --pretty=format:""%h - %an, %ar : %s""
       下面列出了常用的格式占位符写法及其代表的意义。                   
       选项       说明                  
       %H      提交对象(commit)的完整哈希字串               
       %h      提交对象的简短哈希字串               
       %T      树对象(tree)的完整哈希字串                   
       %t      树对象的简短哈希字串                    
       %P      父对象(parent)的完整哈希字串               
       %p      父对象的简短哈希字串                   
       %an     作者(author)的名字              
       %ae     作者的电子邮件地址                
       %ad     作者修订日期(可以用 -date= 选项定制格式)                   
       %ar     作者修订日期,按多久以前的方式显示                    
       %cn     提交者(committer)的名字                
       %ce     提交者的电子邮件地址                    
       %cd     提交日期                
       %cr     提交日期,按多久以前的方式显示              
       %s      提交说明  
--since  限制显示输出的范围,
       例如: git log --since=2.weeks    显示最近两周的提交
       选项 说明                
       -(n)    仅显示最近的 n 条提交                    
       --since, --after 仅显示指定时间之后的提交。                    
       --until, --before 仅显示指定时间之前的提交。                  
       --author 仅显示指定作者相关的提交。                
       --committer 仅显示指定提交者相关的提交。
 
    一些例子: git log --until=1.minute.ago // 一分钟之前的所有 log git log --since=1.day.ago //一天之内的log git log --since=1.hour.ago //一个小时之内的 log git log --since=`.month.ago --until=2.weeks.ago //一个月之前到半个月之前的log git
log --since ==2013-08.01 --until=2013-09-07 //某个时间段的 log   git blame
看看某一个文件的相关历史记录
       例如:git blame index.html --date short

用git统计代码提交行数相关推荐

  1. GitLab统计代码提交行数

    用java统计git项目的每个用户变更行数和提交次数--gitlab4j-api - 灰信网(软件开发博客聚合) (freesion.com)https://www.freesion.com/arti ...

  2. 快速统计SVN代码提交行数

    使用java工具:satasvn.jar 工具下载地址:https://sourceforge.net/projects/statsvn/ 前提条件: 1.java环境 2.svn安装时勾选了&quo ...

  3. Git统计代码行数;Java实现统计代码行数,忽略空行、注释行

    前言 某天,产品叫我算下某个项目的代码行数,我一愣,这怎么统计?总不可能一个文件一个文件算吧?后面我找了下,git是可以统计提交到仓库的所有的代码的,不过有个问题,就是假如有些文件我不想算进去怎么办? ...

  4. git log 数据统计 与 git blame 代码作者查询

    前言 之前,有次比较好奇某段代码由谁编写的,以及每个人的代码编写量. 于是查了下,发现git blame命令和git log命令. 需要注意的是 git log统计有可能由误差(比如空行,或者其他非代 ...

  5. 在项目开发中统计代码行数的6种方式

    文章目录 一.使用find和wc命令统计代码行数 进行参数的过滤筛选 命令参数简要说明 二.PowerShell工具统计代码行数 条件过滤 输出所有文件的行数 PowerShell相关命令的简要说明 ...

  6. Git统计个人提交代码行数

    1. Git统计个人提交代码行数 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t" ...

  7. git中统计代码提交数

    git中统计代码提交数 通过git log来取 git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

  8. git统计当前项目代码行数

    git统计当前项目代码行数 在项目根目录输入以下代码 git log --format='%aN' | sort -u | while read name; do echo -en "$na ...

  9. git统计每个人的代码行数_程序员实用工具,推荐一款代码统计神器GitStats

    阅读全文需7分钟,工具很实用. 1. 前言 对于Git项目开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史.但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发 ...

最新文章

  1. 多个PHP版本环境搭建(nginx,php)
  2. java 并发编程总结
  3. eclipse怎么导出一个Java项目(莫要错过,最详细教程!)
  4. iOS开发如何实现消息推送机制
  5. Java异常处理-自定义异常
  6. Spring Cloud——服务发现与注册
  7. Hi3536 uboot引导内核全过程
  8. SPSS作业-检验两组数据有无显著
  9. 架构真经 | 那些年,我们踩过的缓存坑
  10. mangos声望值例子
  11. 回顾C语言003--计算1000以内4的倍数
  12. Android动画学习——Tween Animation
  13. java 使用itext分割pdf
  14. 【ffmpeg】下载以及使用-视频截取
  15. [汇编语言]实现电话簿的创建
  16. 程序员福利---免费接口
  17. 负载均衡服务器性能评估,性能测试:pgpool做负载均衡的性能评估
  18. 设计模式(四)责任链模式——责任链模式结构
  19. java json 合并_java json 合并
  20. 硬核:如何用「区块链」改进传染病监测预警网络?

热门文章

  1. 嵌入式设计,硬件和软件哪个重要?
  2. 5.5.2指令流水线 影响因素分类
  3. PowerBI/DAX的计算组功能是什么?怎么用?
  4. oracle -解锁scott用户
  5. 导图解文 从梦想到财富(02)你拥有最宝贵的财富是什么?
  6. 【HbuilderX+微信小程序开发者工具解决报错问题】
  7. 榆熙电商:拼多多优惠券都有哪些作用?
  8. 一篇文章搞懂「低保真原型与高保真原型」
  9. Apache Kafka 3.0 版本发布
  10. Bayes分析中的无信息先验