前边几节中我们新建了git仓库,并向仓库中提交了index.html文件
如果我们想查看git仓库的提交记录怎么办呢,接下来就请出这节要讲的命令 git log
通过git log命令我们能很方便查看所有的历史提交记录,但不包括已经被删除的 commit 记录和 reset 的操作
$ git log
commit f42e369bde1b19e256da3cc64473bf9ded50e66d (HEAD -> master)
Author: shifou <openness666@gmail.com>
Date: Fri Aug 21 08:34:02 2020 +0800
新增一行div
commit 08bf08ab7a7c51af52804b89c7e26cb8d8a91073
Author: shifou <openness666@gmail.com>
Date: Thu Aug 20 21:09:19 2020 +0800
初始化index文件
执行git log之后 我们执行过的所有提交信息就显示了出来,其中包括提交ID、提交人信息、提交时间、提交内容描述,一目了然
其中commit id f42e369bde1b19e256da3cc64473bf9ded50e66d
是以16进制表示的一个SHA值,相当于提交的唯一编号,每个人每次提交commit id都会不一样,就像是提交操作的身份证号,我们通过commit id就能找到这次提交
我们可以在git log后边加上--stat参数,用来显示 commit 中更改的文件以及添加或删除的行数
$ git log --stat
commit 5f49a8e1ae061d39cbac552ddf2ca4aa09daf35f (HEAD -> master, tag: v2.0.0, tag: v1.0.0)
Author: weizhen <openness666@gmail.com>
Date: Sun Aug 23 14:58:50 2020 +0800
html变更
index.html | 1 +
1 file changed, 1 insertion(+)
commit 89883a845150ed6fe576a6bf519a810340d09952
Author: weizhen <openness666@gmail.com>
Date: Sun Aug 23 11:06:03 2020 +0800
在develop分支新增了一行div
index.html | 1 +
1 file changed, 1 insertion(+)
commit 81b4a4c2a728d049cdb3f28a9601ac8a5cb5743d
Author: weizhen <openness666@gmail.com>
Date: Fri Aug 21 16:07:24 2020 +0800
fdg
index.scss | 6 ++++++
1 file changed, 6 insertions(+)
如果你想要查看某个文件的历史修改的内容,可以使用git log -p <文件名>
命令
git log -p <文件名>
(可查看该文件以前每一次的修改内容)
git log -p -1 <文件名>
(只查看该文件当前一次的修改内容)
例如查看index.html被修改的具体内容,可以看到在每次提交中对index.html 做出了哪些修改
$ git log -p index.html
commit 5f49a8e1ae061d39cbac552ddf2ca4aa09daf35f (HEAD -> master, tag: v2.0.0, tag: v1.0.0)
Author: weizhen <openness666@gmail.com>
Date: Sun Aug 23 14:58:50 2020 +0800
html变更
diff --git a/index.html b/index.html
index 8a6a3be..2ec2097 100644
--- a/index.html
+++ b/index.html
@@ -5,6 +5,7 @@
<title>Git-师否</title>
</head>
<body>
+ ffggggg
<div>我是新增的一行</div>
<div>我是在develop分支上新增的行</div>
</body>
commit 89883a845150ed6fe576a6bf519a810340d09952
Author: weizhen <openness666@gmail.com>
Date: Sun Aug 23 11:06:03 2020 +0800
在develop分支新增了一行div
diff --git a/index.html b/index.html
index 7f09218..8a6a3be 100644
--- a/index.html
+++ b/index.html
@@ -6,5 +6,6 @@
</head>
<body>
<div>我是新增的一行</div>
+ <div>我是在develop分支上新增的行</div>
</body>
</html>
我们可以用 --oneline 选项来查看历史记录的简洁的版本
$ git log --oneline
f42e369 (HEAD -> master) 新增一行div
08bf08a 初始化index文件
我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并,下图中的黄虚线就是我们的分支图
$ git log --graph
* commit f42e369bde1b19e256da3cc64473bf9ded50e66d (HEAD -> master)
| Author: shifou <openness666@gmail.com>
| Date: Fri Aug 21 08:34:02 2020 +0800
|
| 新增一行div
|
* commit 08bf08ab7a7c51af52804b89c7e26cb8d8a91073
Author: shifou <openness666@gmail.com>
Date: Thu Aug 20 21:09:19 2020 +0800
初始化index文件
如果只想查找某个用户的提交日志怎么办,那你可以使用命令:git log --author 比方说我们要找 Git 源码中 shifou 提交的部分:
$ git log --author=shifou
commit f42e369bde1b19e256da3cc64473bf9ded50e66d (HEAD -> master)
Author: shifou <openness666@gmail.com>
Date: Fri Aug 21 08:34:02 2020 +0800
新增一行div
commit 08bf08ab7a7c51af52804b89c7e26cb8d8a91073
Author: shifou <openness666@gmail.com>
Date: Thu Aug 20 21:09:19 2020 +0800
初始化index文件
如果你想查看某个时间段的提交记录,可以git log 后边加上--since 和 --before,但是你也可以用 --until 和 --after
例如我想查看一小时之前,2020年8月18之后的提交的记录
$ git log --before={1.hours.ago} --after={2020-08-18}
commit 08bf08ab7a7c51af52804b89c7e26cb8d8a91073
Author: shifou <openness666@gmail.com>
Date: Thu Aug 20 21:09:19 2020 +0800
初始化index文件
通过git的图形客户端(后边我会详细介绍图形客户端的使用)我们也能很清楚的看到我们提交的历史记录