当前位置: 首页 > news >正文

git log查看版本的提交信息

git log是查看 Git 提交历史最核心的命令。默认情况下,它会显示详细的提交信息(包括 Commit ID、作者、日期、提交信息等),但内容较多且不易阅读。

为了更高效地查看记录,通常会配合各种参数使用。以下是从基础到高级的常用用法:

1. 基础美化与简化(最推荐)

这些命令能让日志一目了然,适合日常使用。

# 1. 简洁模式:一行显示一条提交(显示 Commit ID 和 提交信息) git log --oneline //显示内容太少,不实用 # 2. 图形化模式:显示分支合并的拓扑结构(非常直观!) git log --graph --oneline //不好用 # 3. Ultimate Common Combination: Graphical + Concise + All Branches + Decoration (show branch names/tags) git log --graph --oneline --all --decorate //不好用

💡 技巧:你可以把这个长命令配置为别名,以后只需输入git lg即可(见文末)。


2. 控制显示数量

-n--max-count的简写,作用是只显示最近的 N 条提交记录(N 替换成具体数字),用来快速筛选少量关键提交,避免日志刷屏

参数格式灵活

  • 可以写git log -n3(数字和-n连写);
  • 也可以写git log -3(省略n,直接加数字)—— 这是更常用的简化写法;
  • 三种写法效果完全一致:git log -n 3=git log -n3=git log -3
# 只看最近的 5 条提交 git log -5 //非常好用 # 或者 git log -n 5 # 只看最近 1 条(常用于检查上一次提交) git log -1

3. 按条件筛选(查找特定提交)

A. 按作者筛选
# 只看特定作者的提交 git log --author="ZhangSan" //还可以 # 支持正则匹配 git log --author="^Zhang"
B. 按时间筛选
# 最近 2 天内的提交 git log --since="2 days ago" //随便用用,还可 # 或者 git log --after="2 days ago" # 2023-01-01 之后的提交 git log --since="2023-01-01" # 某个时间段之间 git log --since="2023-01-01" --until="2023-02-01"
C. 按文件筛选

查看某个文件的提交日志,或者查看某个目录的提交日志

# 只查看针对某个文件的修改历史(非常有用!) git log -- src/main.java //查看某文件记录时有用 # 或者当前目录下的所有文件 git log .

为什么必须加--

--是 Git 的路径分隔符,核心作用只有一个:

明确告诉 Git:后面的内容是「文件 / 目录路径」,不是命令选项!

Git 命令有两种参数:

  1. 命令选项:以-/--开头,比如--oneline-p--author
  2. 文件路径:普通的文件 / 目录名,比如src/main.java

如果不加--,Git 会尝试把路径当成命令选项解析,一旦文件名和选项冲突,就会报错!

D. 按提交信息关键词搜索
# Look for records that contain "fix bug" in the commit information git log --grep="fix bug" //实际用的少

4. 查看具体代码差异 (Diff)

不仅想看“谁提交了什么”,还想看“具体改了哪行代码”。

# 每次提交都显示具体的代码变更统计(增删行数) git log --stat //好用 # 每次提交都显示完整的代码差异内容(类似 git diff) git log -p # 限制条数查看,否则内容太多 git log -p -2 //好用,类似git diff,但是查看的是远程提交的记录,不是本地修改代码

可以在-p基础上叠加其他参数,精准筛选日志

参数作用示例
-n <数字>只显示最近 n 次提交(n 替换成具体数字)git log -p -n 3(看最近 3 次)
--stat额外显示每个提交修改的文件列表(统计增删行数)git log -p --stat
<文件名>只显示指定文件的提交记录及差异(精准定位单个文件的修改)git log -p README.md
--since=<时间>显示指定时间之后的提交(支持 "1 week ago"、"2026-03-01" 等格式)git log -p --since="1 day ago"
--author=<作者>只显示指定作者的提交(匹配邮箱 / 用户名)git log -p --author="张三"
-S <关键词>只显示修改内容包含指定关键词的提交(找某段代码的修改记录)git log -p -S "ConPTY"

5.只查看单次提交详情

#查看本次的所有文件修改 git show <commit_id> #查看本次提交的单个文件修改 git show a1b2c3d -- src/main.js #只想看这个文件在这次提交后的完整内容 git show <commit-id>:<文件路径>

6. 只查看提交修改的文件列表

只看提交的文件列表(最常用):

git log -1 --name-only

git show --name-only

文件列表 + 修改类型(新增 / 修改 / 删除):

git log -1 --name-status

git show --name-status


7.综合使用例子

git show commit-id:文件路径 //完整查看某次提交后的文件完整内容

git show commit-id:文件路径 > old.c #将git文件导入到本地

git log --name-only --author="<邮箱名>" #查看某个作者提交的全部内容


8. 退出查看模式 ,还可,好用

当你运行git log时,会进入一个分页查看器(less),此时:

  • 空格键 (Space):向下翻一页
  • Pageup键:向上翻一行
  • Enter 键:向下翻一行
  • f:向下翻一页 (forward)
  • b:向上翻一页 (back)
  • q退出(quit) ——最重要!
  • /keyword:搜索关键词(例如/fix),按n跳转到下一个匹配项。//这个好用,类似vi命令

总结场景速查

我想做什么推荐命令
随便看看历史git log --oneline
看分支合并情况git log --graph --oneline --all
看某个文件谁改过git log --oneline -- 文件名
看最近 3 次提交git log -3
看某人上周干了啥git log --author="名字" --since="1 week ago"
看具体改了啥代码git log -p -1
http://www.jsqmd.com/news/824359/

相关文章:

  • 扣子(Coze)实战:不装了,用扣子做的10万+爆款心理学短视频,涨粉与变现两不误
  • 为什么改稿改不动AI率?AIGC检测算法5项指标3分钟看懂!
  • BGA焊盘设计实战:NSMD与SMD的选择策略与可靠性解析
  • 2026年黑龙江辅警培训机构推荐,实用排名榜单 - 资讯速览
  • 我的思维模型 -- 11.数学与统计学篇
  • 机器视觉 Vs 机器人视觉(21)
  • 用ACR122U读写器破解一张食堂饭卡,我发现了M1卡存储余额的秘密
  • 实测5款AI教材编写工具,低查重效果惊人,快速生成专业教材
  • 基于RK3399的智能黑板核心硬件选型与功能模块深度解析
  • 2026年4月评价高的混凝土制造商推荐,轻骨料混凝土/B型轻集料混凝土/A型轻集料混凝土,混凝土制造企业口碑推荐分析 - 品牌推荐师
  • 2026年丹阳眼镜培训学校,权威排名推荐 - GrowthUME
  • 基于单片机的氧气含量检测系统设计(有完整资料)
  • 使用 Taotoken CLI 工具一键配置开发环境中的多工具密钥
  • 【Transformer系列】从One-Hot到Embedding:构建AI语言理解的基石
  • 把智谱清言输出格式转换成word效果最好的工具有哪些?收费还是免费使用? - AI导出鸭
  • 人事管理软件系统推荐,泛微・聚才林打造专业 HRM 解决方案 - 资讯速览
  • 九大网盘文件直链智能获取:告别客户端束缚的自动化解决方案
  • 学术论文排版标准化挑战的LaTeX自动化解决方案
  • RAG 系列(十六):Graph RAG——用知识图谱解决多跳关系问题
  • Rust ORM实战:Diesel深度解析
  • 《AI视觉技术:从入门到进阶》第三章(3)
  • STM32串口通信实战:从原理到蓝桥杯嵌入式竞赛应用
  • 一次断电引起的Oracle故障恢复-ora-600 2662故障---惜分飞
  • 贾子竞争哲学与新范式升维战略——从 “多维对抗“ 到 “意义消解“ 的终极战略蓝图
  • CMP仿真:芯片制造良率保障与可制造性设计的关键技术
  • OCPP 1.6 协议详解:ClearChargingProfile 清除充电配置文件指令
  • 对比直接调用与通过taotoken聚合调用的ubuntu端延迟体感
  • 基于物联网的智能家居灯光控制系统(有完整资料)
  • 【职场】所有的职场画饼,都是低成本的控制术
  • 抖音直播弹幕数据抓取:如何构建高效的实时监控系统?