news 2026/8/23 8:16:27

【第6期】小蓝伞的 Git 第一课:从工作区到分支合并,真正把代码管起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【第6期】小蓝伞的 Git 第一课:从工作区到分支合并,真正把代码管起来

【第6期】小蓝伞的 Git 第一课:从工作区到分支合并,真正把代码管起来

系列:《从小白到 AI 大模型开发工程师的进阶之路》
技术点:AI-0006 Git 基础
主人公:小蓝伞

这一期解决什么问题

写 AI 项目时,最可怕的不是代码报错,而是“昨天还能跑,今天不知道改了什么”。Git 解决的不只是文件备份,而是让每次修改都有记录、每条实验线可以隔离、出现问题能够回到可靠节点。

本文从空目录开始,讲清工作区、暂存区、本地仓库和远程仓库的关系,并完成提交、分支、合并和冲突处理。命令可以在 PowerShell 或终端执行,路径请换成自己的练习目录。

一、先建立四层心智模型

  1. 工作区:正在编辑的文件。保存文件,不等于 Git 已记录。
  2. 暂存区:下一次提交的候选清单。git add是把修改放入清单。
  3. 本地仓库:提交历史所在的位置。git commit才形成可回退版本。
  4. 远程仓库:GitHub、GitLab 等服务器上的副本,由pushpull同步。

小蓝伞把它比作实验记录:工作区是草稿纸,暂存区是准备交作业的文件夹,本地仓库是实验日志,远程仓库是异地保险柜。把文件拖进保险柜,并不会自动生成实验过程。

二、最小实践:完成一次可回退提交

mkdir ai-git-demo cd ai-git-demo git init Set-Content -Path README.md -Value "# AI Git Demo" -Encoding utf8 git status git add README.md git diff --cached git commit -m "docs: 初始化练习仓库" git log --oneline --decorate -1

观察重点:git add前,文件是未跟踪状态;git diff --cached展示即将提交的内容;提交后git status应显示工作区干净。提交信息应说明“做了什么”,不要只写update

三、分支是隔离变化,不是复制文件夹

git switch -c feature/prompt-notes Add-Content -Path README.md -Value "`n## Prompt notes" -Encoding utf8 git add README.md git commit -m "docs: 添加提示词笔记章节" git switch main git merge --no-ff feature/prompt-notes git log --oneline --graph --decorate --all

分支适合隔离功能和实验。AI 项目经常比较不同模型、数据清洗规则和提示词版本,先分支再实验,比在主分支上反复覆盖更容易复盘。

四、冲突不是报错,而是一道判断题

当两个分支修改同一段内容,Git 无法替你判断哪一版正确,于是留下冲突标记。处理顺序:

git status rg -n "<<<<<<<|=======|>>>>>>>" README.md # 手动保留正确内容并删除冲突标记 git add README.md git diff --check git commit -m "merge: 解决文档冲突"

不要直接git add .结束战斗。先检查冲突文件和最终差异;如果发现合并方向错了,可在提交前执行git merge --abort

五、撤销操作的边界

目标命令风险说明
查看未暂存差异git diff只读、安全
查看已暂存差异git diff --cached提交前必看
取消暂存git restore --staged 文件保留工作区内容
丢弃未暂存修改git restore 文件会丢失该文件修改
查看提交图git log --oneline --graph --all只读、安全

git reset --hard会同时丢弃工作区和暂存区内容,不应当成“试试看”的快捷键。重要实验先提交临时节点,或至少做好备份。

六、面试题

1.git addgit commit有什么区别?
add选择下次提交的内容,commit把暂存区内容写入本地历史。

2. 为什么需要暂存区?
它允许从一批修改中精确选择本次提交的内容,使一次提交只表达一个完整意图。

3. 为什么使用分支?
为了隔离功能、实验和修复,降低互相覆盖风险,并让合并过程可审计。

4. 冲突应该怎样处理?
先定位冲突,人工判断最终内容,删除标记并验证,再暂存和提交;必要时中止合并。

5. 工作区干净是否代表远程也最新?
不代表。工作区干净只说明没有未提交修改,还需获取远程信息并比较分支状态。

七、本期小结

Git 的核心不是背命令,而是形成“修改—检查—提交—回退”的节奏。下一期学习 GitHub、SSH、Issue 和 Pull Request,给本地仓库接上异地备份与协作能力。

点个关注不迷路,继续跟着小蓝伞把 AI 工程基础一块块搭牢。把每一次修改留下证据,才能把一次次试错沉淀成真正的成长。

官方资料

  • Pro Git 中文版
  • Git 官方参考文档

    九、把本期练习变成可交付成果

    完成命令后,不要只截一张终端图。建议在仓库中保留 CHANGELOG.md,写下本次提交的目标、修改文件、验证命令和未解决问题;再执行 git status,确认没有把临时日志或个人配置带进去。每次提交尽量只表达一个完整意图,后面排查回归时才容易定位。

    如果实验失败,保留失败分支和错误说明并不可耻,真正危险的是删除现场后重新猜。可以用 git diff 对比失败前后,用 git log 找到最后一个可靠节点,并说明依赖的 Python 版本、数据文件和运行命令。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 8:15:08

数学建模竞赛实战指南:从问题解析到论文撰写的全流程方法论

1. 从“认证杯”A题看数学建模竞赛的实战价值 每年&#xff0c;当“认证杯”数学建模竞赛的题目公布时&#xff0c;无论是高校的数学建模社团&#xff0c;还是准备参赛的师生&#xff0c;都会进入一种高度紧张又充满期待的状态。2022年的十一届认证杯A题&#xff0c;虽然具体的…

作者头像 李华
网站建设 2026/8/23 8:03:14

会计专业证书含金量排名

对会计专业学生来说&#xff0c;证书不是越多越好&#xff0c;而是要和未来岗位匹配。想做会计核算、审计、税务、财务分析、金融机构后台&#xff0c;准备的证书组合并不一样。麦可思研究院《2025年中国本科生就业报告》提到&#xff0c;2024届本科毕业生基本工作能力满足度达…

作者头像 李华
网站建设 2026/8/23 8:01:55

乘数比较大时溢出处理(二)

目录 1、数学原理拆解 2、映射到你 ISP 直方图场景 ✅最关键溢出安全点 3、分步数值实例演算 使用拆分公式分步算 4、纯 32‑bit 无 64 位依赖 C 标准实现 5、边界极限测试&#xff08;total 取最大 32bit 值&#xff09; 6、算法适用边界 & 注意事项&#xff08;I…

作者头像 李华
网站建设 2026/8/23 8:01:45

服务器存储管理利器:StorCLI命令行工具从入门到实战

1. 从命令行到存储阵列的“手术刀”&#xff1a;为什么你需要了解storcli如果你管理过服务器&#xff0c;尤其是那些搭载了LSI&#xff08;现为Broadcom旗下&#xff09;或Avago RAID控制卡的机器&#xff0c;那么你一定对“黑盒子”式的存储管理感到过头疼。图形界面的管理工具…

作者头像 李华
网站建设 2026/8/23 8:01:10

数学建模必备:数理统计核心概念与实战应用全解析

1. 项目概述&#xff1a;为什么数理统计是建模的基石 如果你刚开始接触数学建模&#xff0c;或者已经尝试过几个赛题&#xff0c;大概率会遇到一个共同的困惑&#xff1a;面对一堆数据&#xff0c;除了画几个图表&#xff0c;还能做什么&#xff1f;模型建得再精巧&#xff0c;…

作者头像 李华
网站建设 2026/8/23 7:58:04

数学建模竞赛实战:从设施选址到资源分配的问题解决框架

1. 项目概述&#xff1a;一次数学建模竞赛的深度复盘与知识沉淀 2019年的D题&#xff0c;对于当年参与数学建模竞赛的选手和指导老师来说&#xff0c;绝对是一个绕不开的话题。它不像一些纯理论推导题那样有明确的路径&#xff0c;也不像某些数据挖掘题那样有现成的算法库可以调…

作者头像 李华