人工智能项目的 Git
使用 git init、用于数据/模型的 .gitignore、提交 Notebook,以及使用 DVC 进行数据版本管理
人工智能项目的 Git 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。
AI 项目中的 Git
Git 会跟踪代码变化,让您能够协作、撤销错误并查看历史记录。不过,AI 项目还有特殊之处:大型数据文件和二进制模型不应放入 Git。
本课介绍合理的 .gitignore,以及如何使用 DVC 进行数据版本控制。
Git 擅长跟踪的内容
Git 最适合处理文本:源代码、配置、清除输出后的笔记本以及文档。它会高效地存储文本文件的差异。
Git 不擅长处理大型二进制文件——每个版本都会完整存储,使仓库永久膨胀。
为何不提交数据和模型
提交一个 2 GB 的数据集或一个 500 MB 的模型会导致:
- 仓库膨胀,使每次克隆都变慢
- 无法有意义地比较差异
- 即使删除,也会永远留在历史记录中
解决方案:在 Git 中忽略它们,并使用专用工具进行版本控制。
.gitignore 文件
.gitignore 列出 Git 不应跟踪的模式。请在项目根目录中创建它。每一行都是通配模式。
# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.env忽略模型和缓存文件
常见的 AI 忽略模式:
*.pkl、*.joblib、*.h5——序列化模型__pycache__/、*.pyc——Python 字节码.ipynb_checkpoints/——Jupyter 自动保存文件.env——机密信息和 API 密钥(绝不要提交这些内容!)
使用 .gitkeep 保留空文件夹
Git 会忽略空目录。若要在忽略 data/raw/ 内容的同时保留它在仓库结构中,请添加一个空的 .gitkeep 文件和一条否定模式。
# .gitignore
data/raw/*
!data/raw/.gitkeep认识 DVC
DVC(数据版本控制)与 Git 一起管理大型数据和模型的版本。Git 跟踪较小的 .dvc 指针文件,实际数据则存放在远程存储中(S3、GCS 等)。
这样可以获得可复现的数据版本,同时不会让 Git 仓库膨胀。
dvc init
在现有 Git 仓库中初始化 DVC。它会创建一个 .dvc/ 目录和配置,您需要将这些内容提交到 Git。
# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"dvc add — 跟踪数据
dvc add 会开始跟踪文件或文件夹。DVC 将数据移入其缓存,并创建一个小型 .dvc 指针文件。您将指针提交到 Git,而不是数据本身。
dvc add data/raw/dataset.csv
# creates data/raw/dataset.csv.dvc
git add data/raw/dataset.csv.dvc data/raw/.gitignore
git commit -m "Track dataset with DVC"dvc push 和 dvc pull
配置远程存储后,dvc push 会将数据上传到远程存储,而 dvc pull 会下载与当前 Git 提交匹配的版本。这就是团队成员共享数据的方式。
dvc remote add -d storage s3://my-bucket/dvcstore
dvc push # upload data to the remote
# teammate after git clone + git checkout:
dvc pull # fetch the matching data version团队工作流程
Git + DVC 循环将代码和数据版本联系在一起:
- 使用
git pull获取最新代码和.dvc指针 - 使用
dvc pull获取匹配的数据和模型 - 完成工作后,执行
dvc add+git commit+dvc push
检出旧提交并运行 dvc pull,即可复现那个确切状态。
快速检查:大型文件
您的项目包含一个 1 GB 的训练数据集和一个 300 MB 的模型文件。
回顾:面向 AI 项目的 Git
您了解了 AI 特有的版本控制方式:
- Git 用于文本(代码、配置、笔记本),不用于大型二进制文件
- 使用
.gitignore忽略*.pkl、data/raw/*、__pycache__和.env - 使用
.gitkeep保留空文件夹 - DVC:使用
dvc init、dvc add、dvc push/pull管理数据和模型的版本 - Git + DVC 工作流程让代码和数据保持同步
下一步:让实验具备可复现性。
常见问题解答
「人工智能项目的 Git」课时是免费的吗?
是的 — 「人工智能项目的 Git」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。
「人工智能项目的 Git」这节课中我会学到什么?
使用 git init、用于数据/模型的 .gitignore、提交 Notebook,以及使用 DVC 进行数据版本管理 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn AI with Python 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「人工智能项目的 Git」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。