目录

  • 引言
  • git查看该项目提交记录
  • 查看指定条数的记录
  • 显示提交的差异
  • 提交的简略信息
  • 按行显示提交信息
  • 按照指定格式显示记录
  • 指定文件的提交记录
  • 指定字符串或函数的提交记录
  • 示例


引言

有时需要对之前所做的一些修改查看记录,这里是查看git提交记录的指令。

git查看该项目提交记录

git log

会按时间先后顺序列出所有的提交,最近的更新排在最上面。

查看指定条数的记录

git log -n

限制显示的日志条目数量为n条。

显示提交的差异

git log -p

-p 或 --patch ,它会显示每次提交所引入的差异。

提交的简略信息

每次提交的简略统计信息,可以使用 --stat ;

git log --stat

按行显示提交信息

–pretty。 这个选项可以使用不同于默认格式的方式展示提交历史。

git log --pretty=oneline

oneline 会将每个提交放在一行显示。

按照指定格式显示记录

format ,可以定制记录的显示格式。

git log --pretty=format:“%h - %an, %ar : %s”

%h——提交的简写哈希值
%an——作者名字
%ar——作者修订日期,按多久以前的方式显示
%s——提交说明
–graph,以表格的形式显示提交记录。

git log --pretty=format:“%h %s” --graph

指定文件的提交记录

最后一个很实用的 git log 选项是路径(path), 如果只关心某些文件或者目录的历史提交,可以在 git log 选项的最后指定它们的路径。 因为是放在最后位置上的选项,所以用两个短划线(–)隔开之前的选项和后面限定的路径名。

git log – 文件路径

指定字符串或函数的提交记录

-S, 它接受一个字符串参数,并且只会显示那些添加或删除了该字符串的提交。 假设你想找出添加或删除了对某一个特定函数的引用的提交,可以调用:

git log -S function_name

示例

在 Git 源码库中查看 Junio Hamano 在 2008 年 10 月其间, 除了合并提交之外的哪一个提交修改了测试文件,可以使用下面的命令:

git log --pretty=“%h - %s” --author=‘Junio C Hamano’ --since=“2008-10-01” --before=“2008-11-01” 
 –no-merges –

为了避免显示的合并提交弄乱历史记录,可以为 log 加上 --no-merges 选项。