zoukankan      html  css  js  c++  java
  • [Git] git log命令

    这是git的新系列,不常用的命令和其参数比较容易记不住,干脆将常用的记录下来,日后查查方便也是好的,一篇文章一个git命令,长短根据命令有所不同。

    git log命令主要用于查看提交历史,同时根据添加的参数不同也会有不同的用法


    git log

    直接使用git log,使用效果如下图所示,会把提交历史按照如下图的格式展示出来,这是在使用git中必不可少的一条命令

    这个命令会根据提交的事件列出所有更新,最近的更新在最上面

    从上往下,第一行是提交号,这是该次提交的SHA-1校验和

    第二行是作者的名字

    第三行是提交时间

    最后一行是提交说明

    如果提交数过多会进行分页显示,可以按回车继续查看或者q退出查看


    git log -2

    通过参数,git log -2可以只显示最近的两条提交记录


    git log -p

    最常用的选项是 -p,这个参数可以用来展示出每次提交内容的差异,不过内容可能会比较多,一般会和上面的-2参数一起使用限定查看的提交数

    当然直接指定commit号,查看对应的commit的差异也是可以的


    git -log --stat

    然而你并不想要这么详细的信息(我的那个就贼长,根本看不下去),也不想要裸命令那么简短的信息,于是应该使用-stat参数

    注意了,这里的参数是“两道杠”,一道杠等级不够大队长(git bash)是不认的

    这根本看不到啥啊?不满意这个参数往下看。


    git log --pretty

    --stat显然不能满足定制的需要,所以我们用点厉害的,--pretty参数可以定制显示格式,从最牛皮的开始

    git log --pretty=format

    它可以定制要显示的记录格式,这才是最想要的

    我要偷懒截图了,表格不想弄了

    git log --pretty=oneline

    它可以让你的提交在一行显示完(当然显示器得够宽)

    git log --pretty=short

    真的很short了【笑哭】

    git log --pretty=full

    git log --pretty=fuller

    这俩命令就不浪费时间了,只是比short多了点commit信息


    git log --shortstat

    这个真的就是比--stat短了一点啊,只显示--stat中最后的修改过的统计


    git log --name-only

    只是在提交信息后面显示被修改的文件清单,连修改几行都不给你显示了


    git log --since=2.weeks

    虽然有git log -2这样的操作但是一般是不会使用的,有按照时间作限制的选项更常用,例子中的命令是显示近两周的提交

    见笑了,两周内该仓库并没有提交(我又懒了)

    比较强大的是,这个参数支持多种日期的格式,2018-02-01可以,你要是英语能力过关也可以用英语,2 years 1 day 3 minutes ago

    选项 说明
    -(n) 就是-2这样的用法仅显示最近的n条提交
    --since , --after 和例子一样用来限制时间的,仅显示指定时间之后的提交
    --until , --before 仅显示指定时间之前的提交
    --author 指定作者
    --committer 指定提交者
    --grep 跟linux的grep一个意思,按关键字显示
    -S 仅显示添加或移除了某个关键字的提交

     


    感觉-S比较难懂,来个例子

    git log -S Singleton

    这个是找出添加了 Singleton 这个关键字的提交,和grep参数还有一些区别 


    git log --grep Singleton

    --grep 参数是找出commit message中的关键字,并不能进入提交内部看代码部分,但是-S是根据代码的部分查找

    这次就到这就结束啦,如果有错我会再进行修正,请大家多多指教

  • 相关阅读:
    AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
    Java中List集合去除重复数据的方法
    java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结
    Spring 中配置log4j日志功能
    log4j配置文件加载方式
    程序中使用log4J打印信息的两种方式
    elasticsearch常用命令
    接私活必备的10个开源项目??
    初识Elasticsearch
    常用在线工具
  • 原文地址:https://www.cnblogs.com/lenomirei/p/8379457.html
Copyright © 2011-2022 走看看