Git怎么查看提交历史记录_Git log查看日志命令大全【详解】

落杰酱_5194

落杰酱_5194

2026-03-30

747人浏览

原创

git log 默认输出简略,需加参数提升可读性:--oneline压缩单行,--graph --all --decorate显示分支图,--date=short简化日期;查特定提交可用--author、--since、--grep等组合筛选。

git怎么查看提交历史记录_git log查看日志命令大全【详解】

直接看提交历史,用 git log 就够了;但默认输出太简略,不加参数基本没法用。

怎么让 git log 显示更清晰的提交列表

默认的 git log 只显示完整 commit hash、作者、日期和提交信息,一行一个,往上翻几十页都找不到自己要的那次提交。

  • 加 --oneline:每条记录压缩成一行,git log --oneline
  • 加 --graph + --all + --decorate:画出分支合并图,标出分支名和 tag,适合多人协作项目:git log --graph --all --decorate --oneline
  • 加 --date=short:把日期从 Mon Jun 10 14:22:31 2024 +0800 缩成 2024-06-10,省空间也易读

git log 查某个人、某个文件、某段时间的提交

日常查问题经常不是“看全部”,而是“谁改了这个文件”“上周谁合了 PR”“我自己的提交在哪”。

Git as Memory
Git as Memory

基于Git的记忆策略和CLI工作流,适用于OpenClaw、Hermes、Claude Code、Codex等代理。在代理需要记住持久用户偏好时使用。

下载
  • 查某人提交:git log --author="zhangsan"(注意大小写敏感,双引号防 shell 解析空格)
  • 查某个文件的修改历史:git log -- path/to/file.js(-- 是分隔符,避免路径被误认为参数)
  • 查最近 7 天的提交:git log --since="7 days ago",支持 "2024-06-01"、"last week" 等自然写法
  • 组合用更准:git log --author="lisi" --since="2024-06-01" --oneline

为什么 git log 找不到刚 git commit 的记录

最常见原因是当前不在目标分支上,或者刚提交但没推送到远程,而你却在另一个分支或 detached HEAD 状态下执行命令。

  • 先确认当前分支:git branch,星号标出的是当前所在分支
  • 检查是否在 detached HEAD:git status 会明确提示 “HEAD detached at abc123”
  • git log 默认只显示当前分支能到达的提交;如果刚在 feature 分支提交,却切到 main 再查,自然看不到
  • 想看所有本地提交(不管分支指向),加 --all 参数:git log --all --oneline

性能差?日志卡住?这些参数别乱加

git log 在大仓库里容易变慢,尤其带 --grep 或 --pickaxe 这类全文扫描参数时,可能卡住几秒甚至更久。

  • --grep 是正则匹配提交信息,不加 -i 默认区分大小写,常导致搜不到
  • -S<string></string>(pickaxe)查代码行增删,但会遍历每个 commit 的 diff,大数据量仓库慎用
  • 避免无限制翻页:git log 默认不分页,输出几千行终端会卡;加 --max-count=50 或用 git log | head -20
  • 真要查全量又快:用 git log --no-pager 配合 less 手动翻,比默认 pager 更稳

真正难的不是记参数,是每次敲之前想清楚——你要的到底是“谁干的”“在哪改的”还是“啥时候合的”。参数只是把问题翻译给 Git 听,听错就白忙活。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

git

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.12

2607

5

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.20

2988

5

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4216

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1315

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1698

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

9763

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

940

4

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2584

5

Js中concat和push的区别
Js中concat和push的区别

Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.14

1529

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习