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

Git 进阶指南:深入掌握 git log 查看提交历史

在日常开发中,我们经常使用 git commit 来提交代码,但如何查看和分析这些提交历史?答案就是 Git 最强大的命令之一:git log。

它不仅能帮你追溯代码变更,还能用于排查问题、审查代码、理解项目演进。本文将带你全面掌握 git log 的各种用法,从基础到高级,提升你的 Git 使用效率。

🔍 一、git log 基础用法

执行最简单的命令:

git log

你会看到类似以下输出:

commit a1b2c3d4e5f67890abcdef1234567890abcdef12
Author: Zhang San <zhangsan@example.com>
Date:   Mon Sep 25 10:30:45 2025 +0800feat: 添加用户登录功能commit f0e9d8c7b6a54321fedcba9876543210fedcba98
Author: Li Si <lisi@example.com>
Date:   Fri Sep 22 15:20:30 2025 +0800fix: 修复首页样式错位问题

每条记录包含:

  • commit ID:唯一哈希值
  • Author:提交者
  • Date:提交时间
  • Message:提交信息

🎯 二、常用选项与实用技巧

1. 查看简洁日志(推荐日常使用)

git log --oneline

输出:

a1b2c3d feat: 添加用户登录功能
f0e9d8c fix: 修复首页样式错位问题

✅ 一行显示,清晰简洁,适合快速浏览。

2. 查看图形化分支历史

git log --oneline --graph --all --decorate

输出示例:

* a1b2c3d (HEAD -> main) feat: 添加用户登录功能
| * 1234567 (feature/login) refactor: 重构登录逻辑
|/  
* f0e9d8c fix: 修复首页样式错位问题

📌 --graph 显示分支合并关系,–all 显示所有分支,–decorate 显示标签和分支名。

3. 按作者查看提交

git log --author="Zhang San"

支持正则匹配:

git log --author="zhang.*"

4. 按时间范围查看

# 查看最近3天的提交
git log --since="3 days ago"# 查看某一天的提交
git log --since="2025-09-25" --until="2025-09-26"# 查看最近2次提交
git log -2

5. 查看某文件的修改历史

git log path/to/your/file.js

结合 --oneline 更清晰:

git log --oneline file.js

6. 查看代码变更内容(Diff)

git log -p

会显示每次提交的具体代码改动(补丁),非常适合代码审查。

你也可以结合其他选项:

git log -p -2  # 查看最近2次提交的代码变更

7. 按提交信息搜索

git log --grep="fix"

查找包含 “fix” 的提交信息,可用于筛选 bug 修复记录。

8. 只显示统计信息

git log --stat

显示每次提交修改了哪些文件及行数:

commit a1b2c3d
Author: Zhang San
Date:   Mon Sep 25feat: 添加用户登录功能src/login.js    | 45 +++++++++++++++++++++++++++++++------------src/utils/auth.js | 12 ++++++++++++2 files changed, 45 insertions(+), 12 deletions(-)

🛠️ 三、自定义日志格式(高级用法)

使用 --pretty 可以自定义输出格式:

git log --pretty=format:"%h - %an: %s"

常用占位符:

  • %h:短提交 ID
  • %an:作者名
  • %ae:作者邮箱
  • %s:提交信息
  • %ad:提交日期
    示例输出:
a1b2c3d - Zhang San: 添加用户登录功能
f0e9d8c - Li Si: 修复首页样式错位问题

💡 四、实用场景推荐

场景推荐命令
快速查看最近提交git log --oneline -5
审查某文件历史git log -p file.js
查看某人贡献git log --author="name"
分析分支合并git log --graph --all
搜索特定功能git log --grep="feat"

📌 五、小贴士

按 q 退出 git log 分页显示。
使用 git config 设置默认别名,例如:

git config --global alias.lg "log --oneline --graph --all --decorate"

之后直接输入 git lg 即可查看图形化日志。

✅ 总结

git log 是 Git 中最实用的命令之一,掌握它能让你:

  • 快速定位问题提交
  • 理解项目演进过程
  • 提高代码审查效率
  • 更好地协作开发
    不要只停留在 git log 的默认输出,尝试使用各种选项,打造属于你自己的“代码时间机器”!
http://www.dtcms.com/a/419313.html

相关文章:

  • C++ 引用协程
  • 淄博企业网站设计公司网页无法打开怎么办
  • 添加测试设备到苹果开发者平台
  • 填坑:VC++ 采用OpenSSL 3.0接口方式生成RSA密钥
  • 郑州做网站的网站再就业技能培训班
  • Vscode 连接服务时候一直出现setting ssh Host server
  • 全面解析数据库审批平台:主流工具对比与选型指南
  • 【Docker项目实战】使用Docker部署IT运维管理平台CAT
  • spring事务传播级别的实操案例2
  • 泰州专一做淘宝网站如何用html做网站头像
  • 电子商务网站设计与实现个人网站做捐赠发布违法吗
  • Java滑动窗口算法题目练习
  • 介绍一下HTTP和WebSocket的头部信息
  • Linux系统学习之---库的理解和加载(毛坯初版...)
  • 南山模板网站建设公司怎么看网站的外链
  • 企业网站策划大纲模板文山住房和城乡建设局网站
  • Linux 基础IO与系统IO
  • 【IEDA】已解决:IDEA中jdk的版本切换
  • idea推荐springboot+mybatis+分页查询插件之PageHelper
  • 南非网站域名做网站微信支付多少钱
  • 网站开发 图形验证码网站建设衤金手指下拉10
  • OPenssh6代码移植的依赖库 OpenSSL双库连接问题的解决方案
  • 商务网站建设组成包括网站优化wordpress 换行
  • tiktok scheme
  • Xrdp 远程桌面配置【笔记】
  • 【Linux】倒计时和进度条实现
  • 网站建设需要用到哪些软件有哪些系统安装wordpress
  • 梯度下降(Gradient Descent)
  • 东莞市建设规划局网站游戏类企业网站模板
  • C++---bind(绑定函数或函数对象的参数)