惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
B
Blog
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Jina AI
Jina AI
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
L
LangChain Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
Y
Y Combinator Blog
F
Fortinet All Blogs
H
Help Net Security
B
Blog RSS Feed
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题

Li Hui Blog

工作流调研与实践经验 如何搭建私有仓库 Nexus 并配置 SSL 证书 从零开始搭建单节点 ELK 浅谈一个产品的用户引导 归档 GoCD 加入基础密码验证 搭建一套 gocd 的环境 如何使用 gitbook cli工具 React JSX语法再实践 React 组件示例 如何搭建第一个 React 程序 [SpringBoot 指南] 连接 mysql 数据库并进行增删改查测试 [SpringBoot 指南] 如何开始 Springboot 之旅 实现自己第一个接口 LeetCode刷题笔记 VPC笔记 读书的目的 [人文书籍] 把时间当作朋友 Docker基础命令 [技术书籍]JSON必知必会 Docker原理研究 使用Ubuntu 及宝塔搭建Ghost平台 [Linux]Ubuntu安装宝塔面板 2020年年终总结 CURL学习教程 2020年度计划记录 [安全系列]生成ssh证书 [CLI应用学习]时间使用GitHub CLI [linux系列] 修改主机用户名 轻松学CLI应用总章节 [Shell编程系列]基础教程2
[Git系列教程]基本使用4 Git log的使用
2020-09-13 · via Li Hui Blog

前言

如果只是使用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 的使用方法还有很多,熟练的使用可以让我们清晰地看到提交的记录。