📖 知识点
1. git log 高级用法
git log --oneline --graph --all # 图形化看提交历史/分支
git log -n 5 # 只看最近5条提交
git log --oneline --author=小张 # 查某人的提交
git log --oneline 文件名 # 查某个文件的提交历史
--graph用图形展示分支结构,--author按作者筛,-n限定条数。
2. git blame:查每一行是谁改的(查户口神器)
git blame 文件名
运行示例:
9d0e1f2 (阿琳 2026-10-30) 1 def 支付():
8c7d6e5 (小孙 2026-10-29) 2 return '支付成功'
a1b2c3d (老李 2026-10-28) 3 def 订单():
git blame列出文件的每一行:谁在什么时候、哪次提交改的。出 Bug 了,一眼看出是哪行、谁写的、提交 ID 是多少。
💡 生活比喻git blame 像 "给每行代码查户口":每一行都写着 "这条是谁在什么时候写进来的"。线上出了问题,它能精准揪出 "嫌疑人" 和 "作案提交"。
3. 只看某几行是谁改的
git blame -L 1,5 文件名
-L 1,5只看第 1 到第 5 行,精确锁定问题区域。
⚠️ 易错提醒
git blame 文件看每行是谁改的(提交 ID、作者、日期)
git log --graph图形化看分支,--author按作者筛blame 查出的提交 ID,可配合 git log/show 查看那次提交详情
⚔️ 剧情 Kata 实战任务
任务需求:
用
git log --oneline --graph --all图形化看提交历史用
git log --oneline 外卖App.py查某个文件的提交历史用
git blame 外卖App.py查每行是谁改的用
git blame -L 1,3 外卖App.py只看前 3 行体会 "考古溯源":能揪出每行代码的 "来龙去脉"
参考代码(在终端依次敲)
# 0. 进仓库
cd ~/外卖App
# 1. 图形化看提交历史
git log --oneline --graph --all
# 2. 查某个文件的提交历史
git log --oneline 外卖App.py
# 3. 查每行是谁改的
git blame 外卖App.py
# 4. 只看前几行
git blame -L 1,3 外卖App.py
运行示例:
user@linux:~/外卖App$ git log --oneline --graph --all
* 9d0e1f2 (tag: v1.0) feat: 新增支付模块(阿琳)
* 8c7d6e5 feat: 新增优惠(小孙)
| * e2f3a4b (feature-会员日) feat: 新增会员日活动
|/
* 5f6a7b8 feat: 增加上线公告
...
user@linux:~/外卖App$ git blame 外卖App.py
8c7d6e5 (小孙 2026-10-29) 1 def 优惠():
5f6a7b8 (老李 2026-10-28) 2 return '满减'
a1b2c3d (老李 2026-10-27) 3 def 订单():
💡 完成动作示意:
git log --graph --all→ 图形化看到主分支和 feature - 会员日 分支的走向
git blame 外卖App.py→ 每一行都标着 "谁在什么时候改的"例如 "def 优惠 ()" 是 小孙 2026-10-29 改的、"def 订单 ()" 是老李改的 —— 出 Bug 能精准溯源!
🧠 思考题
git log --oneline --graph --all比普通 git log 多展示了什么?(提示:分支结构和所有分支)git blame 文件显示每一行的哪些信息?线上出 Bug 时它怎么帮你 "揪出嫌疑人"?
行者孙Python