
这篇笔记记录我用Git和Python搭建课程资料版本管理系统的尝试解决教案、范画、课件散落和版本混乱问题包含命名规范、提交日志和轻量校验脚本的设计过程。关键词Git, Python, 课程管理, 教育信息化, 小机构IT一、混乱从哪来一间小机构运行几年课程资料会自然膨胀。PPT、范画图片、参考图、作业模板分散在微信群文件、网盘、本地硬盘几个地方。每次换老师上课前一个老师手里的最新版未必会传到公共位置。我统计过一次。六个班级、三套主要课程体系资料文件夹里同时存在同名文件的不同副本。有的文件名带日期有的带修改有的带老师名字缩写。想找一份上周用过的范画平均要在三个位置翻找。更麻烦的是某次上课用的范画被覆盖后想找回旧版本只能靠网盘回收站碰运气。这种状态不是某个老师的责任而是缺少一个修改即记录、记录可追溯的机制。二、为什么选择Git而不是网盘同步盘我试过几款网盘和在线文档的同步功能。它们的共同问题是同步只解决最新一份不解决为什么改和改了什么。当两位老师对同一份范画各自调整时后覆盖的文件会把前一份改动直接抹掉历史里只剩冲突提示没有变更说明。Git的核心价值在于每一次提交都附带一条说明记录谁在什么时间因为什么理由做了修改。对于课程资料管理来说这恰好是我最缺少的能力不是备份而是变更日志。当然Git不是为二进制文件设计的。JPG、PPT这类文件 diff 不友好仓库体积也会增长。所以我只做元信息文本化描述的版本控制把课程资料按班级和课次组织每个课次配一个Markdown说明文件记录本节课使用的范画、课件、参考图清单及修改原因。原始图片和课件仍放在文件系统或网盘Git只追踪那份说明文件和变更日志。三、轻量工作流的三条规则我把整个流程设计成三条简单规则老师不需要懂Git命令也能参与。第一条文件命名固定格式YYYYMMDD_班级_课次_资料类型.扩展名。所有资料进入仓库前必须按这个格式重命名。日期用于排序班级和课次用于检索资料类型区分范画、课件、参考图。第二条每次课前更新说明文件。说明文件用Markdown格式固定包含三块内容本节课目标、使用的资料清单、上次课后调整记录。老师在备课时只需要在清单里勾选或增删条目不需要写复杂文档。第三条提交信息写清楚修改原因。我制定了一个简化的提交信息模板日期修改点影响范围。例如2026-09-20 替换素描班第8节范画影响10-12岁班级。这样翻历史时不需要打开文件也能知道哪次改动做了什么。为了降低老师的操作门槛我补了一个Python脚本。脚本扫描指定目录检查命名是否符合规范自动找出未登记到说明文件的资料生成待办列表。每周固定时间运行一次把检查结果发到工作群里。四、运行三个月后的观察这个轻量系统从2026年6月开始试运行。三个月下来课程资料的平均查找时间从原来的几分钟降到几十秒。老师找范画时先查说明文件再按文件名定位基本不再靠微信聊天记录翻找。更直接的变化是上课事故减少了。以前偶尔出现老师带错课件、放错参考图的情况。现在每节课的资料清单在说明文件里提前确认课前对一遍就行。三个月内没有发生因资料版本错误导致的课堂中断。不过局限也很明显。Git仓库不适合直接存大量高清图片仓库体积增长需要控制。我目前的做法是图片保留在本地NASGit只存说明文件和缩略图索引。另外老师的提交习惯需要慢慢养成前几周我还需要定期整理提交信息格式。五、一点个人看法课程资料的版本管理本质上是在给机构的教学知识做时间轴。小机构没有预算买昂贵的教学管理系统但Git和Python脚本这种开源工具组合足以搭建一个够用的骨架。我所在的机构叫画绛集美术做少儿美术教育快十年。这篇笔记基于我在这间机构里的实践记录整理而成。本文案例基于本人所在机构内部实践仅供同业参考不构成具体教学方案推荐。