git log 有什么作用

git log 命令显示仓库历史记录中的所有提交。

默认情况下,该命令显示每个提交的:

  • 安全哈希算法(SHA)
  • 作者
  • 日期
  • 提交消息

查询 Git 日志

Git 使用 Less 命令翻页来翻阅提交历史记录。你可以使用以下命令:

  • 向下滚动一行,使用 j 或 ↓
  • 向上滚动一行,使用 k 或 ↑
  • 要向下滚动一页,使用空格键或向下翻页按钮
  • 要向上滚动一页,使用 b 或 Page Up 按钮
  • 要退出日志,使用 q

Git Log 标记

你可以使用标记自定义 git log 呈现的信息。

--oneline

git log --oneline

--oneline 标记使 git log 显示:

  • 每行一次提交
  • SHA 的前七个字符
  • 提交消息

--stat

git log --stat

--stat 标记使 git log 显示:

  • 在每次提交中修改的文件
  • 添加或删除的行数
  • 更改的文件和行总数的摘要

--patch or -p

git log --patch

或者,简写为:

git log -p

--patch 标记使 git log 显示:

  • 你修改的文件
  • 你添加或删除的行的位置
  • 你所做的具体更改

按作者查看指定数量的提交

要查看作者对当前 repo 的指定数量的提交(可选择采用美化格式),可以使用以下命令。

git log --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" -n {NUMBER_OF_COMMITS} --author="{AUTHOR_NAME}" --all

从一个具体的提交开始

要从一个具体的提交开始 git log,添加 SHA:

git log 7752b22

这将显示带有 SHA 7752b22 的提交以及在该提交之前进行的所有提交。你可以将其与任何其他标记结合使用。

--graph

git log --graph

--graph 标记使你能够以图表的形式查看 git log。为了让事情变得有趣,你可以将此命令与从上面学到的 --oneline 选项结合使用。

git log --graph --oneline

输出结果将类似于:

* 64e6db0 Update index.md
* b592012 Update Python articles (#5030)
* ecbf9d3 Add latest version and remove duplicate link (#8860)
* 7e3934b Add hint for Compose React Components (#8705)
* 99b7758 Added more frameworks (#8842)
* c4e6a84 Add hint for "Create a Component with Composition" (#8704)
*   907b004 Merge branch 'master' of github.com:freeCodeCamp/guide
|\  
| * 275b6d1 Update index.md
* |   cb74308 Merge branch 'dogb3rt-patch-3'
|\ \  
| |/  
|/|   
| *   98015b6 fix merge conflicts after folder renaming
| |\  
|/ /  
| * fa83460 Update index.md
* | 6afb3b5 rename illegally formatted folder name (#8762)
* | 64b1fe4 CSS3: border-radius property (#8803)

使用此命令的好处之一是它使你能够大致了解提交的合并方式以及 git 历史记录的创建方式。

你可能还有其他选项可以与 --graph 结合使用,比如 --decorate--all。一定要试试这些。你可以参考文档以获取更多有用的信息。

更多信息:

其他关于 Git 的文章

原文:Git Log Command Explained