[Git系列教程]基本使用4 Git log的使用

Posted by Li Hui on Sunday, September 13, 2020

前言

如果只是使用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

步骤

无参数版本

命令行 这是最简单的显示,同时也是最全的显示

返回结果:此处我们可以清晰地看到所有的提交日志 比如commit记录 commit的作者的名字 邮箱 日期 commit的信息 合并的来源 等等

参数版本

参数对于日志的显示很重要,使用参数可以快速的查找出自己想要查找的内容,尤其是我们只想要一部分信息的时候

命令行

Git 的常用选项[摘自上述网址的表格]

<th style="text-align: left;">
  说明
</th>
<td style="text-align: left;">
  按补丁格式显示每个提交引入的差异。
</td>
<td style="text-align: left;">
  显示每次提交的文件修改统计信息。
</td>
<td style="text-align: left;">
  只显示 --stat 中最后的行数修改添加移除统计。
</td>
<td style="text-align: left;">
  仅在提交信息后显示已修改的文件清单。
</td>
<td style="text-align: left;">
  显示新增、修改、删除的文件清单。
</td>
<td style="text-align: left;">
  仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。
</td>
<td style="text-align: left;">
  使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。
</td>
<td style="text-align: left;">
  在日志旁以 ASCII 图形显示分支与合并历史。
</td>
<td style="text-align: left;">
  使用其他格式显示历史提交信息。可用的选项包括 oneline、short、full、fuller 和 format(用来定义自己的格式)。
</td>
<td style="text-align: left;">
  <code>--pretty=oneline --abbrev-commit</code> 合用的简写。 [也就是说可以直接在pretty中写或者直接在使用这一行命令]
</td>

示例

返回信息

其中一个比较有意思的就是pretty参数 掐中包含的信息有很多很多,具体如下表格所示。[同样来自那个网站]

<th style="text-align: left;">
  说明
</th>
<td style="text-align: left;">
  提交的完整哈希值
</td>
<td style="text-align: left;">
  提交的简写哈希值
</td>
<td style="text-align: left;">
  树的完整哈希值
</td>
<td style="text-align: left;">
  树的简写哈希值
</td>
<td style="text-align: left;">
  父提交的完整哈希值
</td>
<td style="text-align: left;">
  父提交的简写哈希值
</td>
<td style="text-align: left;">
  作者名字
</td>
<td style="text-align: left;">
  作者的电子邮件地址
</td>
<td style="text-align: left;">
  作者修订日期(可以用 --date=选项 来定制格式)
</td>
<td style="text-align: left;">
  作者修订日期,按多久以前的方式显示
</td>
<td style="text-align: left;">
  提交者的名字
</td>
<td style="text-align: left;">
  提交者的电子邮件地址
</td>
<td style="text-align: left;">
  提交日期
</td>
<td style="text-align: left;">
  提交日期(距今多长时间)
</td>
<td style="text-align: left;">
  提交说明
</td>

此处解释一下提交人和作者的区别 也是我刚刚发现的,一般来说 作者和提交人是一个人 作者是对代码做实际修改的人,而提交者是将代码提交到仓库的人,比如说你对某个其他人的开源项目做了贡献,但是你不是那个项目组的成员,你还没有直接的提交权限,你就需要提交人将你的代码提交到仓库中。

比如我们想使用pretty显示 提交的简写的哈希值 作者的名字 提交说明 就可以使用下面的语句

返回结果

Git log 的使用方法还有很多,熟练的使用可以让我们清晰地看到提交的记录。