面向 AI 开发者的 Git 实操教程,技术布道式写作,11篇文章从入门到精通
系列目录
| 序号 | 文章 | 核心主题 | 图解 |
|---|---|---|---|
| 01 | 初识Git | 版本控制概念、Repo/Commit/Branch/Merge | 01 手动备份对比 |
| 02 | Git基本操作 | init/add/commit/log/switch,论文案例 | 02 基本工作流 |
| 03 | GitHub云端协作 | push/pull/clone、README/.gitignore | — |
| 04 | 分支策略 | GitHub Flow vs Git Flow,六步流程 | 03 分支策略对比 |
| 05 | Pull Request | PR 创建/审查/合并,Review 实战 | 04 PR 生命周期 |
| 06 | 合并的艺术 | Merge/Squash/Rebase,冲突解决 | — |
| 07 | GitHub Issues | Issue 创建、标签、Milestone、看板 | — |
| 08 | GitHub Actions | CI/CD 工作流、触发事件、Secrets | 05 CI/CD 架构 |
| 09 | GitHub Actions 在 AI 开发中的 MLOps 应用 | 自动化测试、数据质量门禁、持续训练、端到端 MLOps 流水线 | 09 MLOps 流水线 |
| 10 | 保护分支与门禁 | 分支保护、CODEOWNERS、Dependabot | 10 门禁系统 |
| 11 | Git MCP Server | MCP 配置、GitHub API、AI 集成 | — |
学习路径
新手入门:01 → 02 → 03(个人开发者) 团队协作:04 → 05 → 06 → 07(团队协作) 自动化:08 → 09(CI/CD + AI MLOps 流水线) AI 进阶:10(MCP 与 AI 集成) 门禁:10(分支保护与门禁) AI 进阶:11(MCP 与 AI 集成)初识Git:为什么AI时代的开发者需要版本控制
场景带入:AI 帮你写,Git 帮你留版本
AI 可以帮你写论文、写代码、写配置、写提示词。但 AI 的对话框里通常只有"最近生成过的版本"。
如果你只把 AI 生成的结果保存在聊天框或本地文件里,你会遇到一个新问题:
AI 第一版生成:登录页 AI 第二版生成:登录 + 注册 AI 第三版生成:登录 + 注册 + 角色权限 AI 第四版生成:好像改坏了,回不去第三版AI 擅长创造,Git 擅长留痕。当你让 AI 反复改写代码时,Git 的价值反而更高:
| AI 做了什么 | Git 应该做什么 |
|---|---|
| 快速生成多个版本 | 每个重要版本都 Commit |
| 可能生成错误逻辑 | 用git diff看具体改了什么 |
| 可能覆盖原有设计 | 用git revert回退错误改动 |
| 生成不可解释的修改 | 把 AI 说明写进 Commit message |
一句话:AI 提高产出速度,Git 降低失控风险。
发现问题:手动备份的"灾难现场"
你有没有遇到过这种情况:
项目文件夹里长这样: 项目_v1.zip 项目_v2.zip 项目_v2_改.zip 项目_v3.zip 项目_final.zip 项目_final_真的.zip 项目_final_真的_2.zip——你管这叫"版本管理",实际上这叫"灾难现场"。
当你在一个文件夹里折腾了三天,试了五种方案,最后发现:昨天那个方案才是对的,但你找不回来了。
普通保存(Ctrl+S)做了什么?覆盖。旧文件没了,新文件顶上。你以为你在保存,其实你在销毁。
方案迭代:Git 的核心概念
Git 就是来解决这个问题的。它让你每次保存时,不是覆盖旧文件,而是追加一条历史记录。随时可以回到任意一次保存的状态。
你不需要记住 Git 的所有命令,你只需要理解四个概念。
2.1 Repository(仓库)
一个项目文件夹。Git 给这个文件夹加了一个"历史记录仪"——每次你告诉它"保存一下",它就记下来。
对应到 GitHub 上:一个仓库 = 一个项目页面。
2.2 Commit(提交)
Commit 是"保存快照",不是"覆盖旧文件"。
每次 Commit 记录三件事:
- 改了哪些文件(精确到每一行)
- 谁改的(作者)
- 为什么改(你写的说明文字)
Commit 1: "初始化项目" Commit 2: "添加了首页" Commit 3: "修复了登录按钮的样式"Commit 2 出了问题?随时回到 Commit 1。
2.3 Branch(分支)
Branch 是"平行世界"。
你有一个稳定版本(main分支),想试一个新方案。你不敢在main上直接改——改坏了怎么办?
开一个分支。在分支上怎么改都不影响main。改好了,合并回来。改坏了,删掉分支,main毫发无损。
main: ──A──B──C───D───E─── ← 稳定版本 ↑ feature: ──F──G──H── ← 试错空间2.4 Merge(合并)
把分支的改动合并回主分支。如果两个分支改了同一个文件的同一行,Git 会问你"听谁的"——这叫冲突。其他情况,Git 自动合并。
原理拆解:Git 的工作方式
Git 是一个分布式版本控制系统,意味着每个开发者本地都有完整的代码仓库副本,包括全部历史记录。这与 SVN 等集中式系统不同——没有网络也能工作。
Git 的三个区域
工作区(Working Directory) ← 你正在编辑的文件 │ │ git add ▼ 暂存区(Staging Area) ← 准备提交的改动 │ │ git commit ▼ 本地仓库(Local Repository) ← 已保存的历史记录 │ │ git push ▼ 远程仓库(Remote Repository) ← GitHub 上的备份三个区域的概念是理解 Git 的关键:
- 工作区 = 你正在编辑的原始文件
- 暂存区 = 你告诉 Git"这次提交要包含这些改动"
- 本地仓库 = 已经提交保存的历史记录
效果对比:手动备份 vs Git
| 对比项 | 手动备份 | Git 管理 |
|---|---|---|
| 找中间版本 | 翻文件名猜,经常找不到 | git log一查就有 |
| 版本差异 | 只能肉眼比 | git diff v3 v4精确到每一行 |
| 空间占用 | 6 个 30MB 文件 = 180MB | Git 只存增量,实际可能只有 30MB |
| 误删恢复 | 找回收站,可能已经空了 | git restore随时恢复 |
| 多人协作 | 微信传文件,版本混乱 | 分支 + PR 自动合并 |
| 备份安全 | 硬盘坏了全没了 | GitHub 远程备份 |
动手试试:初始化你的第一个 Git 仓库
# 创建一个新项目目录 mkdir my-first-repo cd my-first-repo # 初始化 Git 仓库(只做一次) git init # 创建一个文件 echo "# Hello Git" > README.md # 查看仓库状态 git status # 输出:显示 README.md 是未跟踪的文件 # 加入暂存区 git add README.md # 提交到本地仓库 git commit -m "初始化项目,添加 README" # 查看提交历史 git log --oneline # 输出:显示第一次提交的记录
技术布道师点评
Git 让你敢改。
敢改,因为坏了可以回退。敢试,因为分支是安全空间。敢分享,因为 GitHub 是备份也是发布平台。
你不需要记住所有命令。你只需要记住:改之前先分支,改完就 Commit,Commit 完就 Push。三个动作,你的项目就安全了。
核心思想:Git 不是你的敌人,是你的"后悔药"。每次 Commit 都是一次存档,每次分支都是一次安全尝试。
下一篇:Git 基本操作:5个命令覆盖80%场景