上周要做个汇报PPT涉及到个人对项目贡献量,在网上搜集了些常用统计命令,总结如下:

1.统计代码提交量(包括添加、删除):

git log --author="$(gitconfig--getuser.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}' -

2.统计仓库提交者排名

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

git log参数说明:

--author:指定作者

--stat:显示每次更新的文件修改统计信息,会列出具体文件列表

--shortstat:统计每个commit的文件修改行数,包括添加、删除,但不列出文件列表

--numstat:统计每个commit的文件修改行数,包括添加、删除,并列出文件列表

-p:选项展开显示每次提交的内容差异,用-2则仅显示最近的两次更新

--name-only:仅在提交信息后显示已修改的文件清单

--name-status:显示添加、修改、删除的文件清单

--graph:显示ASCII图形表示的分支合并历史

--pretty:使用其他格式显示历史提交信息。可用的选项包括oneline、short、full、fuller和format

--pretty=tformat: 可以定制要显示的记录格式,这样的输出便于后期编程提取分析

Git常用统计命令的更多相关文章

  1. git常用的命令你知道有哪些?

    1.git与svn的区别 1,git是目前世界上最先进的分布式版本控制系统,他没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候不需要联网 2,svn是集中式版本控制系统,版本库是集中 ...

  2. git常用的命令集合

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  3. Git常用基础命令

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  4. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  5. Git 常用的命令总结(欢迎收藏备用)

    总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------------------------- <极客镇楼> ...

  6. Git常用的命令

    常用 Git 命令清单   作者: 阮一峰 日期: 2015年12月 9日 原文地址:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.ht ...

  7. 第六篇、git常用的命令

    1.oscine git服务器地址 https://git.oschina.net/ 2.帐号:18775134221@163.com 密码:562011 3.创建私有的仓库 4.使用命令 4.1 配 ...

  8. Git:常用功能 - 命令行

    1. 正在某个分支进行开发,突然有个紧急BUG需要切换到其他分支进行修复? git add README.md # 将文件添加到暂存区 git stash save "v1.0.0 in d ...

  9. git常用的命令行

    git管理相关基础命令行,因为现在很多公司都用git管理代码,所以被问及的概率很大,可以用pycharm的git系统,也可以用git代码管理 $git init #初始化仓库$git branch 分 ...

随机推荐

  1. WCF 小程序案例以及序列化的使用

    using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;u ...

  2. 【linux高级程序设计】(第十一章)System V进程间通信 2

    消息队列 消息队列是消息的链式队列,模型如下: 包括两种数据结构: msqid_ds消息队列数据结构 msg消息队列数据结构 struct msg_msg{ struct list_head m_li ...

  3. 为什么32位系统最大支持4G内存??我自己悟出来了 终于 。。。。。

    今天突然开窍了,想通了..... 以下是我的抽象想法: 32位系统 这个 多少位 指的是 硬件的 一次性发送过来的位数,一个字节 等于8位,内存的一个存储单元就是一个字节,即8位. 也可以这样来想这个 ...

  4. PHP成生若干位防伪码的方法

    public static function createCode($length =16) { $arr = array_merge(range(0, 9), range('a', 'z')); / ...

  5. 2.5多线程(Java学习笔记)生产者消费者模式

    一.什么是生产者消费者模式 生产者生产数据存放在缓冲区,消费者从缓冲区拿出数据处理. 可能大家会问这样有何好处? 1.解耦 由于有了缓冲区,生产者和消费者之间不直接依赖,耦合度降低,便于程序拓展和维护 ...

  6. C语言基础之scanf函数的使用

    0.自己实际遇到的坑 Mac下如果用标准键盘,使用scanf输入时不能用小键盘上的回车,否则系统不能很好的识别. 1.scanf函数的基本使用 1: // 定义一个变量,用来保存用户输入的整数 2: ...

  7. DirectoryServicesCOMException

    捕捉到 System.DirectoryServices.DirectoryServicesCOMException Message=该服务器不愿意处理该请求. Source=System.Direc ...

  8. word如何修改尾注

    两篇处理利用尾注处理参考文献的方式,值得注意. 实用技巧:Word 2003中修改尾注位置http://www.kuqin.com/shuoit/20090422/47316.html Word尾注格 ...

  9. 3、列表 list

    列表 >>> list=['aaa','bbb','ccc'] >>> print list ['aaa', 'bbb', 'ccc'] >>> ...

  10. JavaWeb项目实现文件下载

    File file = new File(path);// path是根据日志路径和文件名拼接出来的 String filename = file.getName();// 获取日志文件名称 Inpu ...