7. git log

文章目录

  • 基本概述
  • 基本用法
  • 常用选项
    • 过滤输出
    • 附加输出
    • 格式化输出
  • 高级用法

基本概述

git log 的作用是:查看版本库中的提交记录

基本用法

1.完整显示

git log
  • 显示提交的详细信息(哈希,作者,时间,提交信息)
  • 按 空格 向下翻页,按 q 退出

2.单行显示

git log --oneline
  • 每条提交显示为一行(缩短哈希 + 提交信息)

3.图形显示

git log --graph
  • 显示分支合并历史

常用选项

过滤输出

1.限制数量

git log -3
  • 仅显示最近的 3 条提交

2.按作者过滤

git log --author="John"
  • 筛选特定作者的提交

3.按时间过滤

git log --since="2023-01-01" --until="2023-12-31"
git log --since="2 weeks ago"
  • 使用日期范围或相对时间

4.按提交信息过滤

git log --grep="bugfix"
  • 搜索提交信息中的关键词

5.按文件过滤

git log README.md
  • 查看影响某文件的提交

6.按代码过滤

git log -S "functionName"
git log -G "regex-pattern"
  • S:搜索代码中添加/删除 “functionName” 的提交
  • G:使用正则表达式匹配代码变更

附加输出

1.输出patch信息

git log -p 
  • 在完整输出的基础上显示代码差异(diff信息)

2.输出文件变更统计

git log --stat
  • 在完整输出的基础上显示文件变更统计

3.输出变更的文件

 git log --name-only
  • 在完整输出的基础上显示变更的文件

4.输出变更文件及其状态

git log --name-status
  • 在完整输出的基础上显示变更文件及其状态

格式化输出

1.自定义格式

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
  • %h:缩短的提交哈希
  • %an:作者名
  • %ar:相对提交时间(如 “2 days ago”)
  • %s:提交信息
  • %C(red):显示红色
  • %C(green):显示绿色
  • %C(blue):显示蓝色- %Creset:颜色重置

2.JSON格式输出

git log --pretty=format:'{"commit": "%h", "author": "%an", "date": "%ad", "message": "%s"}' > log.json
  • 生成结构化数据(适用于脚本处理)

高级用法

1.显示某行的修改历史

git log -L 10,20:file.txt
  • 查看 file.txt 第 10-20 行的修改历史

2.比较分支差异

git log branch1..branch2  
  • 显示 branch2 有但 branch1 没有的提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值