前言
如果只是使用Git 打标签 推送,合并 无法查看相关的信息,那使用Git的作用可就是太无聊了,使用起来也不是很方便。使用Git log 进行日志的查看是非常有必要的,也是必须的。
本文章的主要参考资料是git 的官方教程 https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2
步骤
无参数版本
命令行 这是最简单的显示,同时也是最全的显示
git log
返回结果:此处我们可以清晰地看到所有的提交日志 比如commit记录 commit的作者的名字 邮箱 日期 commit的信息 合并的来源 等等
参数版本
参数对于日志的显示很重要,使用参数可以快速的查找出自己想要查找的内容,尤其是我们只想要一部分信息的时候
命令行
git log ***** # 其中参数可以加下面的内容
Git 的常用选项[摘自上述网址的表格]
选项 | 说明 |
---|---|
-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 合用的简写。 [也就是说可以直接在pretty中写或者直接在使用这一行命令] |
示例
git log --oneline
返回信息
其中一个比较有意思的就是pretty参数 掐中包含的信息有很多很多,具体如下表格所示。[同样来自那个网站]
选项 | 说明 |
---|---|
%H |
提交的完整哈希值 |
%h |
提交的简写哈希值 |
%T |
树的完整哈希值 |
%t |
树的简写哈希值 |
%P |
父提交的完整哈希值 |
%p |
父提交的简写哈希值 |
%an |
作者名字 |
%ae |
作者的电子邮件地址 |
%ad |
作者修订日期(可以用 --date=选项 来定制格式) |
%ar |
作者修订日期,按多久以前的方式显示 |
%cn |
提交者的名字 |
%ce |
提交者的电子邮件地址 |
%cd |
提交日期 |
%cr |
提交日期(距今多长时间) |
%s |
提交说明 |
此处解释一下提交人和作者的区别 也是我刚刚发现的,一般来说 作者和提交人是一个人 作者是对代码做实际修改的人,而提交者是将代码提交到仓库的人,比如说你对某个其他人的开源项目做了贡献,但是你不是那个项目组的成员,你还没有直接的提交权限,你就需要提交人将你的代码提交到仓库中。
比如我们想使用pretty显示 提交的简写的哈希值 作者的名字 提交说明 就可以使用下面的语句
git log --pretty=format:"%h - %an : %s "
返回结果
Git log 的使用方法还有很多,熟练的使用可以让我们清晰地看到提交的记录。
文章评论