基础命令:查看Git历史提交记录

487 阅读3分钟

对于一个受控项目来说,不管是个人还是团队,在一段时间内都会提交很多次不同版本的代码,针对不同的版本代码都会在提交的时候备注好提示信息,比如:谁谁谁在什么时间内开发了某某功能、修改了什么bug之类的话。

零. 大白话

如果哪一天,组长心血来潮,想看看提交的历史记录,这个时候,我们可以时候 git log 命令来查看每次提交的信息,比如:版本号、提交人、日期、提交备注信息等。如下图:

git log

默认情况下,使用 git log 命令显示信息:

  • SHA-1 Hash值(HEAD -> master)
  • 作者信息
  • 日期以及时间信息
  • 提交备注信息

一. 多问

这里,细心的胖友可以看到,在哈希值后面 HEAD -> master ,这是什么意思呢?

在版本控制系统中,都有一个分支的概念。在开发初期,一般组长会安排人去默认创建一个骨架分支,叫做master分支,在 master分支基础上拉取多个分支,每个分支的代码在初期阶段都是一样的,不同的人获取分支后,可以基于分支并行开发,开发完成测试无误后再将不同的分支合并到master分支上。

HEAD 又名指针,指向了我们当前所处的分支,因为当前我们默认就处于 master分支上,所以,HEAD指针就是指向master

二. 命令介绍

--stat

使用 git log --stat ,可以显示每次 commit 的统一信息,包括修改了几个文件,有多少行插入,多少行删除。

git log --stat

--oneline

使用 git log --oneline ,把每一个提交信息压缩显示一行,默认情况下显示 commit 的标识符 SHA-1 Hash值、提交备注信息、显示分支和HEAD指向哪个 commit

git log --oneline

--graph

使用 git log --graph,显示图形化的 commit 历史,如果有分支的话,commit 历史会形成一颗树的形状,这个时候用 --graph 可以看清楚 commit 树长成什么样。

git log --graph

--patch 、--patch -n

使用 git log --patch -2--patch 可以显示每次提交的内容差异,在代码review的时候非常有用。同时 -n 可以指定显示最近几个 commit

git log --patch -2

--abbrev-commit

使用 git log --abbrev-commit,每一次 commit 都有一个唯一的标识符,显示SHA-1 Hash值的前7位。

git log --abbrev-commit

--pretty

使用 git log --pretty=oneline,使用自定义格式显示历史提交信息,可用的选项包括 onelineshortfullfuller format。如,我们使用git log --pretty=format:"%h - %an, %ar : %s",可以显示SHA-1 Hash值、作者、多长时间以前、提交备注信息。

git log --pretty=oneline

git log --oneline --abbrev-commit --graph

使用这个命令,可以看到整个commit树结构,合并指向、显示每个commit的 SHA-1 Hash值短时、提交备注说明。

git log --oneline --abbrev-commit --graph

好了,今天就到这里!如上,希望对你有价值,我们下期见!认真学,认真做,万事皆有可能,祝你学习进步!