0Pricing
Learn AI with Python · 课时

人工智能项目的 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 专业人工智能项目目录结构
  2. 人工智能项目的 Git
  3. 可复现性:随机种子、配置与环境
  4. Jupyter Notebook 最佳实践
← 返回 Learn AI with Python