随着项目不断开发,Commit 会越来越多。过了一段时间以后,我们就需要知道项目之前发生过什么,例如某个功能什么时候加入、最近做过哪些修改,或者某个 Bug 是在哪次 Commit 之后出现的。
Git 会自动保存这些 Commit 的历史记录,我们可以通过命令行或者可视化工具来查看。
使用 git log 查看历史
最基本的命令是:
git log执行后,Git 会列出仓库中的 Commit。每条记录通常包含 Commit ID、作者、时间和 Commit Message,例如:
commit a7f3c8e1...
Author: Alex Chen <[email protected]>
Date: Mon Aug 24 10:30:00 2026
Update hello message其中最重要的几个信息分别是:
commit → 这次 Commit 的唯一标识
Author → 谁创建了这次 Commit
Date → Commit 的时间
Message → 这次修改做了什么
Commit ID 通常是一串很长的字符,例如:
a7f3c8e124ab...这是 Git 用来唯一识别一次 Commit 的 ID。日常使用时通常不需要记完整的一串字符,很多情况下只使用前几位就可以区分不同 Commit。
使用 git log --oneline 简化显示
完整的 git log 信息比较多,如果只是想快速查看提交历史,更常用的是:
git log --oneline输出会更加简洁:
a7f3c8e Update hello message
92b1f54 Add hello file每一行就是一条 Commit。
前面是缩短后的 Commit ID:
a7f3c8e后面是 Commit Message:
Update hello message对于日常快速查看历史,git log --oneline 往往比完整的 git log 更方便。
Commit 历史应该怎么看?
假设你看到:
f41d129 Fix login error
71e4a93 Add login validation
2528bc1 Add login page
e2b0135 Create projectGit 默认通常会把最新的 Commit 放在最上面。
因此,这段历史可以从下往上理解为:
Create project → Add login page → Add login validation → Fix login error
只看这些 Commit Message,我们就已经可以大致理解登录功能经历了怎样的开发过程。
这也是为什么前面提到 Commit Message 不应该只写:
update
test
change一个清楚的 Commit Message 会让整个 Git 历史更容易阅读。
Commit 历史侦探
用 git log --oneline 查看历史,再用 git show f41d129 检查可疑修改。
—
用 git log --oneline 查看历史,再用 git show f41d129 检查可疑修改。使用 VS Code 查看历史
命令行并不是查看 Git 历史的唯一方式。很多开发者会直接使用 VS Code 查看 Commit。
VS Code 本身和一些常用 Git 扩展可以将 Commit 历史以列表或图形方式展示,你可以点击其中一次 Commit,查看当时:
修改了哪些文件
哪些代码被增加
哪些代码被删除对于刚开始学习 Git 的人来说,这通常比只看 Terminal 更直观。
需要注意的是,不同 VS Code 版本或扩展显示 Git History 的界面可能略有区别,所以本教程不会依赖某一个特定扩展。只需要理解核心概念:无论使用命令行还是可视化工具,它们看到的都是同一套 Git Commit 历史。
使用 GitHub 查看 Commit
当 Repository 已经 Push 到 GitHub 之后,也可以直接在 GitHub 网页中查看 Commit History。
GitHub 会显示每一次提交的 Commit Message、提交人和时间。点击某次 Commit 后,还可以查看这次 Commit 修改的文件以及具体的代码 Diff。
这在团队协作中特别实用。例如某段代码出现问题时,你可以在 GitHub 中查看最近几次 Commit,找到是谁修改了相关文件,以及每次具体修改了什么。
不过要注意,如果一个 Commit 只存在于你的本地电脑,还没有 Push 到 GitHub,那么 GitHub 是看不到它的。GitHub 只能显示已经上传到远程 Repository 的历史。
知识测验
一个简单的查看流程
在本地开发时,可以先使用:
git log --oneline快速查看有哪些 Commit。
如果想进一步了解其中一次 Commit 做了什么,可以使用 VS Code 的 Git 界面查看具体 Diff。项目上传到 GitHub 后,也可以直接通过 GitHub 网页查看同样的信息。
因此,这三种方式可以根据需要配合使用:
git log --oneline → 快速查看 Commit 列表 → VS Code → 在本地可视化查看代码变化 → GitHub → 在线查看 Commit 和代码变化
练习
在一个至少有三次 Commit 的仓库中运行 git log --oneline。选择一次 Commit,用 VS Code 或 GitHub 查看它的 Diff,并写下 Commit ID 前 7 位、Message、修改的文件以及你认为这次提交的目的。