🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

查看历史!使用 git log 确认提交历史的基本操作

在之前的文章中,我们学习了如何使用 Git 来记录和撤销更改。随着工作的推进,你可能想知道“到目前为止我记录了哪些更改?”。准确掌握过去的工作内容,对于查找错误原因或确认某个功能是何时实现的至关重要。

本文将重点介绍在这种情况下非常有用的`git log`命令。这个命令可以清晰易懂地显示你项目的“航海日志”,也就是提交历史。让我们来掌握如何灵活运用各种选项,智能地提取所需信息吧!


`git log`的基本用法

首先,让我们运行最基本的`git log`命令。在终端(或 Git Bash)中,切换到你想查看历史的仓库文件夹,然后输入以下命令。

git log

执行后,至今为止的提交历史会按从新到旧的顺序列出。每个提交包含以下信息:

如果历史记录很长,可以按 `q` 键退出日志显示。


让显示更清晰!便捷的`git log`选项

默认的`git log`输出信息量太大,可能有点难以阅读。幸运的是,`git log`提供了许多方便的选项来定制显示格式。

1. 以单行简化显示历史 (`--oneline`)

当你想将每次提交汇总为一行以简化显示时,这个选项是最佳选择。它只显示提交ID的前7个字符和提交信息的第一行,让你能快速掌握整体流程。

git log --oneline

2. 同时显示已更改文件的列表 (`--stat`)

当你希望同时查看每次提交中哪些文件被更改,以及增加了多少行、删除了多少行的统计信息时使用。

git log --stat

3. 同时显示代码的具体更改内容 (`-p` 或 `--patch`)

当你希望详细查看每次提交中代码级别的具体更改(差异)时使用。哪一行被添加(以 `+` 显示)和哪一行被删除(以 `-` 显示)都一目了然。

git log -p

4. 限制显示的提交数量 (`-n`)

当只想查看最近的几条历史记录时非常方便。例如,要只显示最新的3条记录,可以这样做:

git log -n 3

5. 以图形方式显示分支派生 (`--graph`)

将多个分支合并等复杂的历史,用线条连接起来,使其在视觉上更易于理解。与`--oneline`结合使用效果非常好。

git log --graph --oneline

用于查找特定历史的选项

随着项目变大,查找特定的更改历史会变得很困难。在这种时候,通过指定条件来筛选历史的选项就很有用了。

只查看特定文件或目录的历史

只提取并显示特定文件(例如: `index.html`)是何时以及如何被更改的历史。

git log -- [文件名]

只查看特定作者的提交 (`--author`)

在团队开发中,当你想确认特定成员做了哪些工作时,这个选项很方便。

git log --author="用户名"

按提交信息内容搜索 (`--grep`)

只搜索提交信息中包含特定关键词(例如:“修复bug”)的提交。

git log --grep="想搜索的关键词"

总结:掌握`git log`,即可掌控项目历史

本次,我们介绍了使用`git log`命令查看提交历史的各种方法。虽然一开始只用基本的`git log`或`git log --oneline`就足够了,但随着项目变得越来越复杂,这次介绍的选项将成为强大的武器。

能够自由浏览过去更改的能力,对于提高问题解决速度和保持代码质量是不可或缺的。请务必尝试各种选项,找到最适合自己的显示方式。