查看提交历史

  • 前言
  • 查看提交历史
  • 常用选项
  • -p
  • -n
  • --stat
  • --pretty
  • --since
  • 限制输出选项



前言

  • 本篇来学习git中查看提交历史命令

查看提交历史

  • 官方项目例子: git clone https://github.com/schacon/simplegit-progit
git log

说明:

  1. 不传任何参数会按时间先后顺序列出所有的提交,最近的更新排在最上面
  2. 会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明

gitlab提交记录_gitlab提交记录

  • 常用选项

项目

Value

-p

按补丁格式显示每个提交引入的差异。

–stat

显示每次提交的文件修改统计信息。

–shortstat

只显示 --stat 中最后的行数修改添加移除统计。

–name-only

仅在提交信息后显示已修改的文件清单。

–name-status

显示新增、修改、删除的文件清单。

–abbrev-commit

仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。

–relative-date

使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。

–graph

在日志旁以 ASCII 图形显示分支与合并历史。

–pretty

使用其他格式显示历史提交信息。可用的选项包括 oneline、short、full、fuller 和 format(用来定义自己的格式)。

–oneline

–pretty=oneline --abbrev-commit 合用的简写。

常用选项

-p
  • -p / --patch:显示每次提交所引入的差异(按 补丁 的格式输出)
-n
  • -n :限制显示的日志条目数量(n),例如使用 -2 选项来只显示最近的两次提交

说明 :

  1. 附带了每次提交的变化,适合代码审查或浏览项目搭建过程的变化

gitlab提交记录_gitlab提交记录_02

–stat
  • –stat:每次提交的简略统计信息

说明:

  1. 可以看出变动的文件名称及增加(+)或删除(-)代码行数
git log --stat

gitlab提交记录_github_03

–pretty
  • –pretty:可以使用不同于默认格式的方式展示提交历史,个选项有一些内建的子选项使用
  1. 放个提交放在一行显示
git log --pretty=oneline

gitlab提交记录_字符串_04

  1. 指定格式输出
git log --pretty=format:"%h - %an, %ar : %s"

gitlab提交记录_github_05

  • 常见选项

选项

说明

%H

提交的完整哈希值

%h

提交的简写哈希值

%T

树的完整哈希值

%t

树的简写哈希值

%P

父提交的完整哈希值

%p

父提交的简写哈希值

%an

作者名字

%ae

作者的电子邮件地址

%ad

作者修订日期(可以用 --date=选项 来定制格式)

%ar

作者修订日期,按多久以前的方式显示

%cn

提交者的名字

%ce

提交者的电子邮件地址

%cd

提交日期

%cr

提交日期(距今多长时间)

%s

提交说明

–since
  • –since: 限制输出长度
# 查看具体某一天
git log --since=2023-1-2
# 查看最近两周提交
git log --since=2.weeks
# 查看最近50天
git log --since=50.days
# 查看最近10小时
git log --since=10.hours
# 也可以是类似 "2 years 1 day 3 minutes ago" 的相对日期

限制输出选项

选项

说明

-<n>

仅显示最近的 n 条提交。

–since, --after

仅显示指定时间之后的提交。

–until, --before

仅显示指定时间之前的提交。

–author

仅显示作者匹配指定字符串的提交。

–committer

仅显示提交者匹配指定字符串的提交。

–grep

仅显示提交说明中包含指定字符串的提交。

-S

仅显示添加或删除内容匹配指定字符串的提交。


仅显示某些文件或目录的历史提交,-- 文件名/目录名

–no-merges

不显示合并提交的历史记录