红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Awalon
Talk is cheap,show me the code.
  1. 首页
  2. 开发工具
  3. 正文

Git 学习笔记 4:日志

2026年2月3日 9点热度 0人点赞 0条评论

log

使用log命令可以查看 Git 的提交记录:

❯ git log
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800
​
    move test
​
commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:49:14 2026 +0800
​
    delete file

默认输出的提交记录以分页的方式展示,可以像 Linux 的 more 或 less 那样使用PageUp、PageDown 键进行翻页查看。

也可以指定返回最近的若干条提交记录:

❯ git log -2
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800
​
    move test
​
commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:49:14 2026 +0800
​
    delete file

pretty

日志的显示内容可以进行定制,比如显示单行日志:

❯ git log --pretty=oneline
1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD) move test
59ef81c4e3694ffb9410313bdd47212bc8c8fd35 delete file
9d6f179c868cbaf41b65ea40edf07817a1e9c607 test
b31900fa8a5956ffc4215171baf9836bc576620b (origin/release/260126, release/260126) hello3
8dd7e82d0a145bc8e69112ff8ab768872e0da2d6 hello1
3c415dd6ac5eb532000bacc9809cfae1e622d5f4 commit 1

--pretty参数有多个值可选:

❯ git log --pretty=short -2
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
​
    move test
​
commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
​
    delete file
❯ git log --pretty=medium -2
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800
​
    move test
​
commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:49:14 2026 +0800
​
    delete file
❯ git log --pretty=full -2
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Commit: icexmoon <707488229@qq.com>
​
    move test
​
commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Commit: icexmoon <707488229@qq.com>
​
    delete file
❯ git log --pretty=fuller -2
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author:     icexmoon <707488229@qq.com>
AuthorDate: Thu Jan 29 17:55:50 2026 +0800
Commit:     icexmoon <707488229@qq.com>
CommitDate: Thu Jan 29 17:55:50 2026 +0800
​
    move test
​
commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author:     icexmoon <707488229@qq.com>
AuthorDate: Thu Jan 29 17:49:14 2026 +0800
Commit:     icexmoon <707488229@qq.com>
CommitDate: Thu Jan 29 17:49:14 2026 +0800
​
    delete file

除了使用这些预定义的参数值,还可以自己定义输出格式:

❯ git log --pretty=format:"%h - %an, %ar : %s"
1e074de - icexmoon, 20 hours ago : move test
59ef81c - icexmoon, 20 hours ago : delete file
9d6f179 - icexmoon, 21 hours ago : test
b31900f - icexmoon, 4 days ago : hello3
8dd7e82 - icexmoon, 4 days ago : hello1

更多可选值可以查看帮助文档。

patch

有时候,我们需要查看提交记录对应的详细修改内容,比如删除了哪些代码或添加了哪些代码,可以使用-p或--patch参数:

image-20260130113140365

stat

使用--stat参数可以查看日志中具体的统计数据,比如新增的是哪些文件,每个文件增加了多少行:

❯ git log -1 --stat
commit 51fc7ad00f1fba422f28d291fcb707be22b1f566 (HEAD -> main)
Author: icexmoon <707488229@qq.com>
Date:   Fri Jan 30 14:43:08 2026 +0800

    add user module

 .../learngit/demo/controller/UserController.java   | 27 ++++++++++++++++++++++
 .../cn/icexmoon/learngit/demo/entity/User.java     | 20 ++++++++++++++++
 .../learngit/demo/service/UserService.java         | 14 +++++++++++
 .../demo/service/impl/UserServiceImpl.java         | 20 ++++++++++++++++

筛选条件

since

有时候,我们希望对提交记录进行筛选,比如查看最近2周的提交记录:

❯ git log --since=2.weeks
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800

    move test

commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:49:14 2026 +0800

    delete file

--since的值除了可以是一个时间段外,也可以是具体时间,比如:

❯ git log --since=2026-01-28
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800

    move test

commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:49:14 2026 +0800

    delete file

author

通常,我们会对提交人进行筛选:

❯ git log --author icexmoon
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800

    move test

commit 59ef81c4e3694ffb9410313bdd47212bc8c8fd35
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:49:14 2026 +0800

    delete file

grep

对提交时的备注进行筛选也很常见:

❯ git log --grep test
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800

    move test

commit 9d6f179c868cbaf41b65ea40edf07817a1e9c607
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:34:19 2026 +0800

    test

all-match

当同时使用多个筛选条件时,默认时 or 的关系:

❯ git log --author icexmoon --grep test
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800

    move test

commit 9d6f179c868cbaf41b65ea40edf07817a1e9c607
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:34:19 2026 +0800

    test

如果要让筛选结果满足所有指定条件(AND),需要使用--all-match参数:

❯ git log --author icexmoon --grep test --all-match
commit 1e074deece41d1423ea615599e125fecbc3df421 (HEAD -> main, origin/main, origin/HEAD)
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:55:50 2026 +0800

    move test

commit 9d6f179c868cbaf41b65ea40edf07817a1e9c607
Author: icexmoon <707488229@qq.com>
Date:   Thu Jan 29 17:34:19 2026 +0800

    test

The End.

参考资料

  • 2.3 Git基础 - 查看提交历史

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: git
最后更新:2026年2月3日

魔芋红茶

加一点PHP,加一点Go,加一点Python......

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号