第 2 课

Git 工作流——给代码装上"时间机"

人工智能程序设计与实践 · 2026 年秋季学期 · 自学周① 9/25 中秋—10/8 收心

手机扫码 · 打开本课幻灯片
手机扫码 · 打开本课幻灯片

本课口令: ••••••

扫码或访问 aip-2026f.dev-learn-hub.me/a2 → 输入上方口令 → 在自己设备上同步看幻灯片
本课为自学周,幻灯片全程开放至 10/8 24:00
← 左右滑动翻页 →

本课你将完成什么

1版本管理认知 — 理解 Git 三区模型与"快照"心智模型
2每日提交习惯 — 5 个任务日 D1-D5,每天一次规范提交
3分支与回滚 — 创建/合并分支,体验回滚三板斧
4阶段总结 — .gitignore 规范 + 一周自学总结文档

你手里的资源

实践指南二《Git 工作流》

本课学习主线:概念地图、每日任务书、命令速查表、红线。本页幻灯片只讲做什么怎么做看指南。

本课幻灯片

扫码进入(口令在班级群公布),自学周期间全程开放

评价系统

每日任务刷新与自动反馈:9:00 发布当日任务,24:00 前完成提交。教师每天上午答疑一次

llm2-isc 校内平台

遇到不懂的概念直接问 AI——附上你的提问与 AI 回答到学习笔记,这本身是 AI 使用记录的好素材

本课知识体系

版本管理动机 — 没有 Git 的世界 vs 有 Git 的世界
三区模型与提交三连 — 工作区 → 暂存区 → 本地仓库 → 远程
分支与回滚 — 平行宇宙 + 后悔药三板斧
主线先建立心智模型(三区+快照),再练每日动作(提交三连),最后掌握安全网(分支+回滚)——三者就位即可放心写代码

① 没有版本管理的世界

你已经历过的混乱

text
报告.doc
报告-改.doc
报告-最终版.doc
报告-最终版2-真的最终.doc
报告-打死不改版.doc

论文写作中,你一定被这种命名折磨过。

Git 解决了什么

  • 每次"保存"都拍一张快照(commit)
  • 随时回到任何一张快照
  • 多人同时改不同部分,自动合并
  • 完整历史可追溯——你的工作过程就是证据
为什么本课先学 Git你的每次作业、期末项目的过程证据,全部依赖 git 历史。它同时是你简历上的第一块技术基石

② Git 的三区模型

text
工作区(你正在改的文件)
   │ git add(选入快照)

暂存区(这张快照要拍哪些内容)
   │ git commit(拍下快照)

本地仓库(快照历史)
   │ git push(同步到云端)

GitHub/Gitee(远程仓库——你的作品集)

心智模型

给项目拍"快照"——需要时回到任何一张快照

关键区分

  • Git = 版本控制工具(装本机)
  • GitHub/Gitee = 托管平台(云端仓库)

② 分支:平行宇宙

什么是分支

在副本上试验,成功了合并回来,失败了直接丢弃——主线毫发无伤

text
main ─────●───●───●───●
           \       /
dev         ●───●───●
              试验

为什么要分支

  • 想加新功能但怕改坏主线
  • 想试验一个想法,失败了直接丢
  • 多人同时开发不同功能
本课立场分支是安全网——初学者最大的恐惧是"改坏了回不去",分支让这个恐惧消失

本周节奏:5 个任务日

D19/26 周六 · 三步提交 — 建笔记,走通提交三连
D29/27 周日 · 提交信息规范 — 两次 feat: 提交,好提交信息三特征
D39/28 周一 · 分支体验 — branch/checkout/merge 全流程
D49/29 周二 · 回滚三板斧 — checkout/revert/reset 三种后悔药
D510/8 周四 · .gitignore 与阶段总结 — 国庆后收心日
节奏约定每个任务日上午 9:00 评价系统刷新当日任务,晚上 24:00 前完成提交。教师每天上午在评价系统/班级群答疑一次

D1 · 三步提交

任务

  1. 在自己仓库新建 notes/git-notes.md,写下"三区模型"用自己的话理解(≥3 行)
  2. 执行完整提交三连:git addgit commitgit push
  3. 提交信息:docs: 添加git三区模型学习笔记

检查点

评价系统检测到你仓库当日有一次含 docs: 前缀的提交且文件路径正确。

翻车警告commit 忘了写 `-m "信息"` 会打开 vim 编辑器出不来——按 Esc 输入 :q! 回车逃出,重新带 -m 提交

D2 · 提交信息规范

任务

  1. 新建 practice/hello.py,让 TRAE CODE 生成一个打印你名字拼音的程序
  2. 两次提交:
    • 第一次:空函数版本 feat: 新增打招呼程序骨架
    • 第二次:补全并运行验证 feat: 完成打招呼程序并验证输出
  3. 在 git-notes.md 追加:好提交信息的三个特征

好提交信息三特征

  • 动词开头
  • 说清做了什么
  • 可分离的小步
检查点当日两次提交、信息均以 feat: 开头、程序运行输出你的名字

D3 · 分支体验

任务

  1. git branch dev 创建开发分支,git checkout dev 切换过去
  2. 在 dev 分支给 hello.py 加一个新功能(比如打印当前日期)
  3. 提交后切回 main(git checkout main),确认看不到新功能
  4. git merge dev 合并,确认功能出现
  5. git-notes.md 追加"分支的价值"一段

命令

bash
git branch dev
git checkout dev
# ...改代码、提交...
git checkout main
git merge dev
故意实验(强烈推荐)合并前故意在 main 和 dev 改同一行,触发一次合并冲突——看到 <<<<<<< 标记后,让 TRAE CODE 教你解决它。把过程截图记入笔记。经历过一次冲突,你对 Git 的理解会超过大多数初学者

D4 · 回滚三板斧

git checkout -- 文件名 — 丢弃工作区未暂存的修改(后悔药)
git revert <commit> — 生成"反向提交"撤销指定提交(安全,历史保留)
git reset --hard <commit> — 暴力回到某版本(危险,先理解再按)

检查点

笔记中三种回滚的命令与一句适用场景各就位

红线

reset --hard 会真删东西。练习时只在 practice 目录做,永远先 git log 看清楚目标版本号

D5 · .gitignore 与阶段总结

任务

  1. 给仓库加 .gitignore:忽略
    • __pycache__/
    • *.pyc
    • .DS_Store
  2. 新建 notes/week01-summary.md:一周自学总结
    • 学到什么
    • 卡在哪
    • 怎么解决的
    • AI 帮了什么忙
  3. 全部提交推送

检查点

  • 仓库存在 .gitignore 且内容合理
  • 总结文档 ≥10 行
想想为什么为什么要忽略这些文件?——独立研究任务①的答案自己验证

自主实践任务

每日任务D1-D5 每日提交,评价系统自动判定:提交存在性 / 信息规范 / 内容达标
自主实践①合并冲突实验记录完整 ②回滚三板斧笔记齐全
独立研究git log --graph --oneline 呈现什么图形 ②git stash 干什么用 ③git diff HEAD~1 vs git diff 区别
50 道选择题当周完成,成绩单独记录(具体安排在评价系统说明)

红线

红线 1不用 git push -f(强推会覆盖远程历史——除非你 100% 确定且课程要求)
红线 2.gitignore 不忽略自己的作业文档
红线 3每日任务当日完成,连续 3 日未动将收到掉队预警(也请及时在群里说明情况,教师会调整)
S3 思政落点严谨求实——以规范的提交历史记录自己的成长轨迹,过程透明可追溯

命令速查表

场景 命令
状态三问 git status
提交三连 git add .git commit -m "..."git push
看历史 git log --oneline --graph
看差异 git diff / git diff --staged
场景 命令
建分支 git branch dev
切换 git checkout dev(或 git switch
合并 git checkout maingit merge dev
后悔药 git checkout -- 文件 / git revert <id> / git reset --hard <id>
vim 逃生 Esc:q! → 回车

求助阶梯

1实践指南对应部分 — 本课学习主线,概念与命令全在里面
2llm2-isc 概念答疑 — 不懂的概念直接问 AI,附问答到笔记
3TRAE CODE 内置文档 — 让 AI 讲解命令含义
4班级群 / 评价系统 — 教师每天上午答疑一次
按此顺序前三步能解决绝大多数问题。卡住超过 30 分钟就发班级群,不要硬扛

资源与下载

学生实践指南二 · docx

概念地图 + 每日任务书 + 命令速查表 + 红线

下载:学生实践指南-第2次课.docx

课堂作业二 · 作业要求 docx

每日任务详 + 自检清单

下载:课堂作业二-作业要求.docx

本课幻灯片

aip-2026f.dev-learn-hub.me/a2 · 口令在班级群公布

自学周期间全程开放,复习请看实践指南

现在,开始你的自学周

① D1 · 三步提交 — 建笔记,走通 add → commit → push
② D2-D4 · 规范与分支 — 提交信息规范 + 分支 + 回滚
③ D5 · 收心总结 — .gitignore + 一周总结
9/26 上午 9:00评价系统发布 D1 任务。实践指南 → llm2-isc → TRAE CODE → 班级群。10/8 24:00 前完成全部 5 个任务日

🔒 本课幻灯片需要口令

口令由任课教师随堂公布

提示:口令在课堂投影的幻灯片第一页上