这是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是根据代码的部分查找

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

天啦,爷爷你关注的博主居然更新了?虽然没啥人关注......

[Git] git log命令的更多相关文章

  1. GIT使用log命令显示中文乱码

    背静: 公司项目使用GIT进行代码同步. 问题: 之前代码提交后,有中文备注,但是在使用git log查看代码历史记录的时候发现显示乱码,如下: 后查询相关资料,现将解决办法总结如下: 1.运行Git ...

  2. [Git] 024 log 命令的补充

    0. 回顾 [Git] 009 逆转未来 的 "1" 画张导图 其实 --oneline 前有个"关键字参数" "--pretty" --o ...

  3. git log命令全解析,打log还能这么随心所欲!

    git log命令非常强大而好用,在复杂系统的版本管理中扮演着重要的角色,但默认的git log命令显示出的东西实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! ...

  4. git学习------>如何用git log命令来查看某个指定文件的提交历史记录

    有时候接手一份新代码时,看到某些文件的改动,但不清楚这个改动的作者和原因,想查看该文件的具体提交历史记录. 今天一个同事是这样做的,直接敲git log命令,然后再使用vim命令的搜索关键字的方法来查 ...

  5. Git(7)-- 查看提交历史(git log 命令详解)

    @ 目录 1.git clone 2.git log 3.git log -p 4.git log --stat 5.git log --pretty=oneline 6.git log --pret ...

  6. 『现学现忘』Git基础 — 25、git log命令参数详解

    目录 1.git log命令说明 2.git log命令参数 (1)不带参数 (2)常用显示参数 (3)--pretty参数 (4)--date=参数 (5)筛选参数 git log命令主要用于查看G ...

  7. git常用的命令集合

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

  8. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  9. git的一些命令行

    以下代码均在命令行中执行:在目标文件夹目录下: 1.初始化一个Git仓库,使用git init命令. 2.添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意 ...

随机推荐

  1. [代码审计]青云客Cms前台有条件注入至getshell,后台xss至getshell、至弹你一脸计算器

    之前写了一篇关于青云客cms的文章,发在了t00ls,就不copy过来了. 给个链接,好记录一下. https://www.t00ls.net/thread-43093-1-1.html

  2. Java多线程窥探

    1.程序,进程,线程 标准定义:

  3. python爬虫入门-开发环境与小例子

    python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...

  4. WinForm响应式布局设计实践

    引言 创建响应式WinForm应用程序并不那么简单. 响应式布局,在此我指的是应用程序在不同屏幕分辨率下的可用性. 对于WinForm应用程序,我们需要明确地根据分辨率来调整控件的大小和重新定位. 虽 ...

  5. 谈谈关键字new

    1.在情人节那天,无意间看到空间有人说,没有对象就new一个,然后就可以........ 程序中我们常用到X a=new X(), new在这里是创建一个对象,也可以叫做创建一个实例,我们先谈谈后半部 ...

  6. 使用神经网络来拟合函数y = x^3 +b

    我们使用一个三层的小网络来,模拟函数y = x^3+b函数 import tensorflow as tf import numpy as np import matplotlib.pyplot as ...

  7. 初入python 用户输入,if,(while 循环)

    python 基础 编译型: 一次性将所有程序编译成二进制文件. 缺点:开发效率低,不能跨平台 优点:运行速度快. :c ,c++语言 等等.... 解释行:当程序执行时,一行一行的解释. 优点:开发 ...

  8. bzoj 2806: [Ctsc2012]Cheat

    传送门 好久没刷bzoj惹…… 题意不说可以嘛. 首先二分答案. SAM的事情搞完以后就是dp辣. 我们已经对于每个位置i,找到了最小的一个k,使得[k,i]这个子串在模版串中出现过.那么我们需要做的 ...

  9. 【Java学习笔记之四】java进制转化

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  10. HDU--1164

    Eddy's research I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...