4. git log的常见用法
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
通过组合使用--auther
、grep
、-p
这几个参数,几乎能满足大部分检索需求了。
4. git log的常见用法的更多相关文章
- git log的常见用法
git log 使用git log命令,什么参数都没有的话,会以下面的格式输出所有的日志(我当前的git仓库只有三个提交).如果日志特别多的话,在git bash中,按向下键来查看更多,按q键退出查看 ...
- git log 查看某文件的修改历史
先进入此文件所在的目录下 1. git log --help 所有的git命令都可以通过git manual查看 在synopsis中可以看到公式 git log [<options>] ...
- [转] console.log的高级用法
//基本用法 console.log('最常见用法\n换行'); console.error('输出错误信息 会以红色显示'); console.warn('打印警告信息 会以黄色显示'); cons ...
- console.log的高级用法
//基本用法 console.log('最常见用法\n换行'); console.error('输出错误信息 会以红色显示'); console.warn('打印警告信息 会以黄色显示'); cons ...
- Git commit 常见用法
Git commit git commit 主要是将用户通过git add命令添加到暂存区里的改动给提交到本地的版本库,关于版本库的构成可以查看我先前的笔记. 每次提交我们都会在本地版本库生成 ...
- git常见用法介绍
1. git help:帮助 git help xxx git xxx --help 2. git init:初始化 git init 3. git config:配置 常见用法 git config ...
- git log用法【转】
转自:http://www.cnblogs.com/gbyukg/archive/2011/12/12/2285419.html PHP技术交流群 170855791 git log 查看提交记录,参 ...
- Git log高级用法
格式化Log输出 首先,这篇文章会展示几种git log格式化输出的例子.大多数例子只是通过标记向git log请求或多或少的信息. 如果你不喜欢默认的git log格式,你可以用git config ...
- 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 内 ...
随机推荐
- intern()方法的使用
intern() intern方法的作用是:如果字符串常量池中已经包含一个字符串等于此String对象的字符串,则返回常量池中的这个String对应的对象, 否则将其添加到常量池并返回常量池中的引用. ...
- 强化学习之一:从TensorFlow开始(Start from TensorFlow)
本文是对Tensorflow官方教程的个人(tomqianmaple@outlook.com)中文翻译,供大家学习参考. 官方教程链接 tf的扬帆起航Getting Started With Tens ...
- ICML 2019论文录取Top100:谷歌霸榜
[导读]人工智能顶级会议ICML 2019发布了今年论文录取结果.提交的3424篇论文中,录取了774篇,录取率为22.6%,较去年有所降低.从录取论文数量来看,谷歌成为今年最大赢家,紧随其后的是MI ...
- HTTP 请求状态码
200 请求成功 304 从缓存中读取 302 + 响应头中定义location: 重定向 // 自定义重定向 @RequestMapping("/customRedirecti ...
- [React]Context机制
在React中,Context机制是为了方便在组件树间传递数据. 例子 import React from 'react' const themes={ light:"亮色主题", ...
- iOS 重构AppDelegate
一.Massive AppDelegate AppDelegate 是应用程序的根对象,它连接应用程序和系统,确保应用程序与系统以及其他应用程序正确的交互,通常被认为是每个 iOS 项目的核心. 随着 ...
- iOS 性能优化点
用 ARC 管理内存 在正确的地方使用 reuseIdentifier 尽量把 views 设置为完全不透明 如果你有透明的 Views 你应该设置它们的 opaque(不透明)属性为 YES.例如一 ...
- 批量生成sql语句,难得
在工作我们常常要批量生成sql文件,因为业务部门经常给我们的是excel文件,根据我的经验,推荐两种批量生成sql文件方式 1.excel批量生成sql ,sql语句如下 INSERT INTO Ta ...
- Java实现tif/tiff/bmp图片转换png图片
package org.analysisitem20181016.test; import java.io.File; import java.io.FileOutputStream; import ...
- MQTT协议实现Android中的消息收发
前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),基于发布/订阅范式的消息协议,是一种极其简单和轻量级的消息协议,专为受限设备和低带宽.高延迟 ...