git log 有什么作用

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

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

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

浏览 Git 日志

Git 使用 Less 终端翻页器来翻阅提交历史记录。你可以使用以下命令浏览它:

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

Git Log 标记

你可以将 git log 和一些标记结合使用,来定制显示不同的信息。

—oneline

git log --oneline

--oneline 标记使 git log 显示:

  • 每行一个提交one commit per line
  • SHA 的前七个字符
  • 提交信息

—stat

git log --stat

--stat 标记使 git log 显示:

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

—patch or -p

git log --patch

或者,简短的版本:

git log -p

--patch 标记使 git log 显示:

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

查看作者指定的提交次数

要查看作者对当前仓库的提交次数(可能是以预先确定的格式),可以使用以下命令

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 Log Command Explained