📖 知识点回顾
git blame 文件:查每一行是谁、哪次提交改的(定位 Bug)git log --oneline:查看提交历史,找到出问题的提交 ID修改代码 →
git add→git commit:紧急修复git tag:修复后打补丁版本标签(v1.0.1)
💡 线上急救流程① blame 定位是哪个提交埋雷 → ② 修复代码 → ③ add+commit → ④ 打补丁版本标签
⚔️ 剧情 Kata 实战任务
任务需求:
用
git blame 外卖App.py模拟定位 "价格算错" 的代码行是谁改的找到那行 / 那次提交(bug 提交 ID)
修改代码,紧急修复(改对价格)
用
git add+git commit提交修复用
git tag -a v1.0.1打补丁版本标签,完成 "线上急救"
参考代码(在终端依次敲)
# 0. 进仓库
cd ~/外卖App
# 1. 定位:查外卖App.py每行是谁改的,找到"价格算错"的那行
git blame 外卖App.py
# 假设发现 "def 价格(): return 15元" 是某次提交(a1b2c3d)改错的
# 2. 修复:把那行价格改对
vim 外卖App.py
# 把 return 15元 改成 return 10元(正确价格)
# (:wq 保存退出)
# 3. 确认改动,提交修复
git diff
git add 外卖App.py
git commit -m "fix: 修复订单价格计算错误"
# 4. 打补丁版本标签
git tag -a v1.0.1 -m "补丁:修复价格Bug"
# 5. 验证
git log --oneline
git tag
运行示例:
user@linux:~/外卖App$ git blame 外卖App.py
8c7d6e5 (小孙 2026-10-29) 1 def 价格():
a1b2c3d (老李 2026-10-28) 2 return 15元 ← 这行被老李改错了!
user@linux:~/外卖App$ git commit -m "fix: 修复订单价格计算错误"
[master f4a5b6c] fix: 修复订单价格计算错误
user@linux:~/外卖App$ git tag -a v1.0.1 -m "补丁:修复价格Bug"
user@linux:~/外卖App$ git log --oneline
f4a5b6c (tag: v1.0.1) fix: 修复订单价格计算错误
9d0e1f2 (tag: v1.0) feat: 新增支付模块(阿琳)
...
💡 完成动作示意:
git blame揪出 "return 15 元" 是老李在 a1b2c3d 改错的vim 把价格改成 10 元 →
git diff确认 →git add+git commit -m "fix: 修复价格Bug"
git tag -a v1.0.1打补丁标签
git log看到修复提交 +git tag看到 v1.0.1—— 线上急救完成,Bug 修复封版!
🧠 思考题
线上出 Bug,你会用哪些命令来 "定位是哪次提交引起的"?(提示:blame 查行、log 看提交)
为什么修复完要打一个 "补丁版本标签"(如 v1.0.1)?这和打 v1.0 标签的用途有什么不同?(提示:标记紧急修复的里程碑)