您的位置:首页 > 其它

git log的常见用法

2017-06-27 21:50 274 查看
本篇博客讨论一下我们非常常用的命令
git log
,用来查看提交历史。

git log

使用
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文件


git log –oneline

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

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


git log -[length]

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

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


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

git log –skip=[skip]

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

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


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


输出的信息中包括提交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


git log –graph

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

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


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文件


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

git tag 'important' 723687a


然后再次使用
--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文件


显示出了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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git log