Git

Git 查看提交历史

Git 查看提交历史(git log)是最常用但也是最“花样多”的命令。
下面从最简单到最强大,给你列出 2025 年所有人都在用的 10 种姿势,直接复制粘贴就行。

1. 基础命令(每天都在用)

命令效果说明推荐指数
git log完整历史,按时间倒序★★★★
git log –oneline每条提交只占一行(最常用!)★★★★★
git log –oneline –graph带分支合并图形(强烈推荐)★★★★★
git log –oneline –graph –decorate再显示分支名和 tag★★★★★
git log –oneline –graph –all显示所有分支的历史(神级)★★★★★

示例(你现在直接敲这个就很爽):

git log --oneline --graph --all --decorate

2. 限制显示条数

命令说明
git log -10只看最近 10 条
git log –since=”2025-01-01″从某个日期开始
git log –until=”yesterday”到某个日期之前
git log –author=”张三”只看某人提交
git log –grep=”登录”提交信息包含“登录”的

3. 只看某个文件/文件夹的历史(超实用)

git log --oneline src/components/Login.vue      # 只看这个文件
git log --oneline --follow README.md            # 即使改过名字也能追踪
git log --oneline package.json                  # 看依赖变更历史
git log --oneline -- app/                       # 看整个 app 目录的历史

4. 查看“谁在什么时候改了这行代码”(代码考古神器)

git blame src/App.vue           # 每一行是谁改的、哪个 commit
git blame -L 15,30 main.py      # 只看 15~30 行
git blame --since="2 weeks ago" index.html

5. 图形化查看历史(比命令还好用)

工具命令/方式评价
终端神器git log –graph –all –decorate –oneline够用一辈子
tig安装后直接敲 tig终端里的 Sourcetree
GitKraken免费版足够最漂亮的图形化工具
VS Code 内置左下角分支图标 → View Git Graph完全够用
GitLens (VS Code 插件)安装后每一行都能看到提交者装机必备

6. 查找被删除的代码或历史内容

# 查找曾经出现过但现在被删掉的代码
git log -S "const token = " --oneline        # 查找添加/删除过这行代码的提交
git log -G "正则表达式" --oneline            # 用正则查找

# 例子:某人删了一段关键代码,怎么找回来?
git log -S "importantFunction()" --oneline
# 找到 commit 后用 git show xxxxxxxx 看具体改动

7. 对比两个版本/分支的提交差异

# 看 dev 比 main 多出来的提交
git log main..dev --oneline

# 看 main 比 dev 多出来的提交
git log dev..main --oneline

# 看两个分支各自独有的提交
git log --left-right --oneline main...dev

8. 一行命令美化输出(放别名里一劳永逸)

把下面这行加到 ~/.bashrc 或 ~/.zshrc:

alias gl="git log --oneline --graph --all --decorate --color=always | head -30"
alias gg="git log --graph --all --oneline --decorate"

以后直接敲 gl 或 gg 就美得飞起!

9. 推荐的 5 个终极别名(强烈建议加上)

git config --global alias.hist  "log --oneline --graph --all --decorate"
git config --global alias.last  "log -10 --oneline"
git config --global alias.who   "blame -w -C -C"    # 忽略空格变更,追踪复制粘贴
git config --global alias.find  "log -S"            # 快速查找代码变更
git config --global alias.graph "log --graph --all --decorate --oneline --color=always"

以后直接敲:

git hist
git graph
git find "用户登录逻辑"

总结:你现在只需要记住这 3 条就够用了

  1. 日常查看:git log --oneline --graph --all
  2. 看具体改了啥:git show commit-id
  3. 代码考古:git blame 文件名

掌握上面内容,你查看 Git 历史的能力已经超过 99% 的开发者了!

需要我给你一份彩色打印版「Git 查看历史速查卡」(PDF,带所有命令和示例)吗?随时说一声,我立刻发你!

分类: Git
文章已创建 2637

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部