git命令讲解之查看提交历史git log

185 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情

查看提交历史git log

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

每个提交会显示 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交信息。

image.png

-p 该选项会使得git以文件补丁的形式显示每次提交与之前的差异.

-整数设置最多输出多少次提交信息,先输出最新的那几个

--stat使得输出的为简略信息

--pretty该选项可以根据后面不同的子选项,显示不同格式的历史提交记录。最常见的几个为oneline、short、full、fuller、format。其中前四个子选项仅仅是表示显示信息的详尽程度。format则是可以自定义显示格式。

2023-02-09-09-38-07-image.png

其中作者表示修改内容的人,提交者表示最终将变化提交的人,二者并不一样。

例如:

2023-02-09-09-44-55-image.png --graph选项使得显示有了一些好看的字符,使得显示更形象化,当有分支时会更为形象。

--since或--after该选项可以指定一个时间作为子选项,表示git log会列出从这个指定日期到最新提交的所有记录。这个日期可以是数字.weeks【表示几周内,weeks可以换成day、year、minute之类的时间单位】、时间描述,例如:2 years 1 day 3 minutes ago之类的【点在命令行中表示空格】所有描述都必须是英文,若是描述git识别不了的话,他将会输出所有记录。

--until或--before,和--since语法和功能类似,只不过是显示指定从第一次提交到指定日期的所有记录。

--author,该选项可以指定一个作者名称作为子选项,而运行该命令git会筛选出所有指定作者的提交。

--committer,该选项可以指定一个提交者名称作为子选项,而运行该命令git会筛选出所有指定提交者的提交。

--grep,该选项指定子选项用于搜索提交说明中的关键字。

-S,它接受一个字符串参数。该命令会查找各文件内容差异中存在指定字符串的提交。【删除一个文件,该文件包含指定字串或添加一个文件名有指定字串时,并不会显示该条记录】

例如:我第3次提交时,将一个文件修改了一行内容,这行修改内容包含这个字。运行git log -p -S "擦"时会显示该条记录。

第6次提交时,添加一个名称中含的文件,但是并不会显示该条提交记录

第4次提交时,删除了一个文件,该文件有,但是并不会显示该条提交记录

其余git log选项:

2023-02-09-09-49-19-image.png

2023-02-09-09-49-29-image.png

句末语

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情