git log

======见https://blog.csdn.net/daguanjia11/article/details/73823617

+++++++++++++++++++++++

使用git log命令,什么参数都没有的话,会以下面的格式输出所有的日志(我当前的git仓库只有三个提交)。如果日志特别多的话,在git bash中,按向下键来查看更多,按q键退出查看日志。

$ git log
commit c08099d1cf05fdc541752b049a91b92bdcf78a12
Author: zdk <zdk@menhoo.com>
Date: Mon Jun 19 23:08:07 2017 +0800 add hello.txt to git rep commit 723687a41685667a01dbd6254eb148d19501c3f1
Author: zdk <zdk@menhoo.com>
Date: Sun Jun 18 22:27:29 2017 +0800 add c.txt commit 1a29bde9519195f14e98270c29d125e9d18b8d87
Author: zdk <zdk@menhoo.com>
Date: Sun Jun 11 22:40:21 2017 +0800 新增了a.txt和b.txt文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

git log –oneline

--oneline参数可以将每条日志的输出为一行,如果日志比较多的话,用这个参数能够使结果看起来比较醒目。为了节约日志的篇幅,我后面也会频繁地使用这个参数。

$ git log --oneline
c08099d add hello.txt to git rep
723687a add c.txt
1a29bde 新增了a.txt和b.txt文件
  • 1
  • 2
  • 3
  • 4

git log -[length]

-[length]参数用于指定显示多少条日志

$ git log --oneline -2
c08099d add hello.txt to git rep
723687a add c.txt
  • 1
  • 2
  • 3

这里面使用-2来指定显示前两条日志

git log –skip=[skip]

--skip=[skip]参数用来指定跳过前几条日志。下面的命令用来查看第二和第三条日志

$ git log --skip=1 -2 --oneline
723687a add c.txt
1a29bde 新增了a.txt和b.txt文件
  • 1
  • 2
  • 3

git log –pretty=raw

我在上面多次使用--oneline是为了节约文章篇幅,使文章看起来尽量整洁。而--pretty=raw则会显示出关于每次提交的更多信息

$ git log --pretty=raw -1
commit c08099d1cf05fdc541752b049a91b92bdcf78a12
tree 5ef6cd7051101c4294cb92980f0cf3740478e120
parent 723687a41685667a01dbd6254eb148d19501c3f1
author zdk <zdk@menhoo.com> 1497884887 +0800
committer zdk <zdk@menhoo.com> 1497884887 +0800 add hello.txt to git rep
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出的信息中包括提交ID,文件树ID,父提交ID,作者和提交者,这些信息都非常有用。

git log -p

-p参数输出的信息会更多,用来显示提交的改动记录,相当于多次使用git show [commit_id]的结果。

$ git log -1 -p
commit c08099d1cf05fdc541752b049a91b92bdcf78a12
Author: zdk <zdk@menhoo.com>
Date: Mon Jun 19 23:08:07 2017 +0800 add hello.txt to git rep diff --git a/hello.txt b/hello.txt
new file mode 100644
index 0000000..ce01362
--- /dev/null
+++ b/hello.txt
@@ -0,0 +1 @@
+hello
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

git log –graph

--graph参数会绘制提交的线索,如果有合并的话,也会更清晰地显示出来

$ git log --graph --oneline
* c08099d add hello.txt to git rep
* 723687a add c.txt
* 1a29bde 新增了a.txt和b.txt文件
  • 1
  • 2
  • 3
  • 4

git log –decorate

--decorate参数用来显示一些相关的信息,如HEAD、分支名、tag名等

$ git log --decorate --oneline
c08099d (HEAD -> master) add hello.txt to git rep
723687a add c.txt
1a29bde 新增了a.txt和b.txt文件
  • 1
  • 2
  • 3
  • 4

下面使用git tag命令给第二次提交加上一个名叫important的tag。

git tag 'important' 723687a
  • 1

然后再次使用--decorate参数来查看一下

$ git log --decorate --oneline
c08099d (HEAD -> master) add hello.txt to git rep
723687a (tag: important) add c.txt
1a29bde 新增了a.txt和b.txt文件
  • 1
  • 2
  • 3
  • 4

显示出了tag的信息。

git log –name-status

--name-status参数会带出每次提交对应的文件改动。

$ git log --name-status --oneline
c08099d add hello.txt to git rep
A hello.txt
723687a add c.txt
A c.txt
1a29bde 新增了a.txt和b.txt文件
A a.txt
A b.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

搜索git日志

通过作者搜索

有时候会从提交记录中查看一下自己(或某个人)的某次提交,git log命令可以很快地检索出这些信息

$ git log --author yourname
  • 1

可以筛选出yourname用户提交的所有日志。这里的yourname可以包含通配符,从Author: zdk <zdk@menhoo.com>的信息中匹配信息。

通过提交关键字搜索

$ git log --grep keywords
  • 1

可以从提交的关键字中抓取匹配的commit项。

通过文件名搜索

有时候,我们想查某个文件的所有修改记录,可以根据文件名来过滤一下只跟这个文件有关的提交,就可以使用-p参数

git log -p -- RELEASE-NOTE.md
  • 1

注意,这个--后面跟的是完整的文件名的相对地址,不是模糊匹配。如果你的文件的相对地址是config/my.config的话,你就需要用下面的命令

git log -p -- config/my.config
  • 1

通过组合使用--authergrep-p这几个参数,几乎能满足大部分检索需求了。

4. git log的常见用法的更多相关文章

  1. git log的常见用法

    git log 使用git log命令,什么参数都没有的话,会以下面的格式输出所有的日志(我当前的git仓库只有三个提交).如果日志特别多的话,在git bash中,按向下键来查看更多,按q键退出查看 ...

  2. git log 查看某文件的修改历史

    先进入此文件所在的目录下 1. git log --help 所有的git命令都可以通过git manual查看 在synopsis中可以看到公式  git log [<options>] ...

  3. [转] console.log的高级用法

    //基本用法 console.log('最常见用法\n换行'); console.error('输出错误信息 会以红色显示'); console.warn('打印警告信息 会以黄色显示'); cons ...

  4. console.log的高级用法

    //基本用法 console.log('最常见用法\n换行'); console.error('输出错误信息 会以红色显示'); console.warn('打印警告信息 会以黄色显示'); cons ...

  5. Git commit 常见用法

        Git commit git commit 主要是将用户通过git add命令添加到暂存区里的改动给提交到本地的版本库,关于版本库的构成可以查看我先前的笔记. 每次提交我们都会在本地版本库生成 ...

  6. git常见用法介绍

    1. git help:帮助 git help xxx git xxx --help 2. git init:初始化 git init 3. git config:配置 常见用法 git config ...

  7. git log用法【转】

    转自:http://www.cnblogs.com/gbyukg/archive/2011/12/12/2285419.html PHP技术交流群 170855791 git log 查看提交记录,参 ...

  8. Git log高级用法

    格式化Log输出 首先,这篇文章会展示几种git log格式化输出的例子.大多数例子只是通过标记向git log请求或多或少的信息. 如果你不喜欢默认的git log格式,你可以用git config ...

  9. git log 高级用法

    转自:https://github.com/geeeeeeeeek/git-recipes/wiki/5.3-Git-log%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95 内 ...

随机推荐

  1. coding++ :JS-判断当前是否是IE浏览器,并返回时IE几?

    IEVersion(); function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var is ...

  2. Ribbon负载均衡实现

    1,在之前的博文中,我通过eureka,consul,zookeeper 实现了注册中心,在实现的服务发现过程中,都是通过RstTemplate 来实现RPC 远程调用 RestTemplate 封装 ...

  3. Java并发编程锁系列之ReentrantLock对象总结

    Java并发编程锁系列之ReentrantLock对象总结 在Java并发编程中,根据不同维度来区分锁的话,锁可以分为十五种.ReentranckLock就是其中的多个分类. 本文主要内容:重入锁理解 ...

  4. elasticesearch搜索返回高亮关键字

    pre_tags 前缀标签 post_tags 后缀标签 tags_schema 设置为styled可以使用内置高亮样式 require_field_match 多字段高亮需要设置为false 使用h ...

  5. 作为 attribute 和 property 的 value 及 Vue.js 的相关处理

    attribute 和 property 是 Web 开发中,比较容易混淆的概念,而对于 value,因其特殊性,更易困惑,本文尝试做一下梳理和例证 attribute 和 property 的概念 ...

  6. RecyclerView 的 Item 的单击事件

    RecyclerView 的每个Item的点击事件并没有像 ListView 一样封装在组件中,需要 Item 的单击事件时就需要自己去实现,在 Adapter 中为RecyclerView 添加单击 ...

  7. Python第三方包之离线安装

    Python第三方包之离线安装 第一步 首先我们得从pypi上先下载要装的第三方包 https://pypi.org/ 第二步(因为下载下来的包可能需要其他包的依赖,那我们依旧要按照第一步再次下载) ...

  8. 2020非常全的软件测试linux常用命令全集,linux面试题及参考答案

    一.前言: 作为一名软件测试工程师,我相信大部分的人都和Linux打过交道,因为我们的服务器一般都是装的Linux操作系统,包括各种云服务器也都是用的Linux,目前主流是CentOS7,那么对于一个 ...

  9. G 树的难题

    时间限制 : 10000 MS   空间限制 : 165536 KB 评测说明 : 1s,128m 问题描述 给出一个无根树.树有N个点,边有权值.每个点都有颜色,是黑色.白色.灰色这三种颜色之一,称 ...

  10. A - 你能数的清吗 51Nod - 1770(找规律)

    A - 你能数的清吗 51Nod - 1770(找规律) 演演是个厉害的数学家,他最近又迷上了数字谜.... 他很好奇 xxx...xxx(n个x)*y 的答案中 有多少个z,x,y,z均为位数只有一 ...