DevOps 技能手册 · 第 2 章 Git 版本控制 章节摘要:Git 是 DevOps 的协作底座——版本控制、分支策略、代码审查都建立在这套三区域模型上。本章从基础概念与日常操作讲起(git 目录/工作目录/暂存区、pull 与 fetch、gitignore、diff/status),进入分支合并与历史管理(四种分支策略、merge 与冲突解决、reset 与 revert、rebase 与 squash),最后是进阶与性能(gitattributes、monorepo 提速三件套 fsmonitor/manyFiles/maintenance、Git 内部机制)与三个动手练习。本章共 3 节。
章节摘要:Git 是 DevOps 的协作底座——版本控制、分支策略、代码审查都建立在这套三区域模型上。本章从基础概念与日常操作讲起(git 目录/工作目录/暂存区、pull 与 fetch、gitignore、diff/status),进入分支合并与历史管理(四种分支策略、merge 与冲突解决、reset 与 revert、rebase 与 squash),最后是进阶与性能(gitattributes、monorepo 提速三件套 fsmonitor/manyFiles/maintenance、Git 内部机制)与三个动手练习。本章共 3 节。
一句话主线:先理解 Git 的三区域心智模型,再掌握分支与历史操作,最后能处理大规模仓库的性能问题。
阅读完本章,你应当能够:
三区域模型(git 目录/工作目录/暂存区);判断是否 git 仓库;pull vs fetch;gitignore 与取消跟踪(git rm --cached);git status/diff/add;检查文件是否被跟踪。
四种分支策略(Git flow/GitHub flow/Trunk-based/GitLab flow);分支的内部机制(update-ref、.git/HEAD);merge 与冲突解决流程;merge 策略(recursive/resolve/ours/theirs/octopus);reset vs revert;rebase 与 squash;恢复文件与丢弃更改;删除远程分支。
gitattributes 与跨平台换行;monorepo 慢的根因(lstat 系统调用)与优化(fsmonitor/feature.manyFiles/maintenance/sparse checkout);git status 内部机制(两次 diff+hash 缓存);练习三连:首次提交、创建分支、squash 提交。
前置知识:第 1 章 DevOps 概念(版本控制是协作实践的核心)。
后续延伸:第 8 章 CI/CD(流水线围绕 Git 事件触发)与第 9 章 GitOps(以 Git 仓库为唯一事实来源)。