🌿 Git 工具
本节旨在为开发者提供一份全面、实用的 🌿 Git 使用指南,帮助你在日常开发中掌握版本控制的核心技能,提升协作效率与代码质量。
🎯 教程目标
通过本教程,读者将能够:
- 🧠 掌握核心理念:深入理解 Git 的设计哲学、分布式架构及三区概念(Working Directory、Staging Area、Repository)。
- ✍️ 规范提交习惯:学会编写清晰的 Commit Message,掌握 Conventional Commits 规范。
- 🌿 熟练分支操作:掌握分支创建、切换、合并、Rebase 等日常操作。
- 🛡️ 应对复杂场景:学会处理合并冲突、回滚错误提交、使用 Git Bisect 二分查找 Bug 等进阶技巧。
- 🚀 提升工作效率:利用 Git Aliases、Hooks、GUI 工具等提升日常开发效率。
- 📝 速查与排错:通过速查表快速查找常用命令,并获取常见问题的解答。
👥 目标读者
本节主要面向:
- 💻 软件开发者:希望系统学习 Git,建立规范的版本控制习惯。
- 👔 技术负责人:需要制定团队的 Git 工作流规范与 Code Review 标准。
- 🎓 初学者:刚接触版本控制,希望从零开始学习 Git。
- 🔄 迁移用户:从 SVN、Mercurial 等其他版本控制系统迁移到 Git。
技术前提
建议读者具备基本的命令行操作经验,了解软件研发的基本流程。
🗺️ 主要内容概览
- Git 基础入门:Git 是什么、为什么用 Git、安装配置、第一次提交。
- 日常工作流:Status/Add/Commit/Push/Pull 等日常命令,及分支管理基础。
- 进阶操作:Interactive Rebase、Cherry-pick、Reflog、Bisect 等进阶命令详解。
- 提交规范:Conventional Commits 规范、Commit Message 编写技巧、commitlint 工具配置。
- 团队协作与分支策略:Git Flow、GitHub Flow、Trunk-Based Development 三大主流分支模型对比与选型。
- 冲突解决与灾难恢复:合并冲突处理、revert vs reset、用 reflog 找回丢失提交、生产事故应急流程。
- 现代工程化与 CI/CD 集成:GitHub Actions、GitLab CI 中的 Git 操作、语义化版本与 Changelog 自动化。
- 大文件与大仓库处理:Git LFS、Monorepo 策略(Nx/Turborepo)、浅克隆与部分克隆优化。
- 工作区多开(Git Worktree + AI 编程):
git worktree实现多分支并行开发,配合 AI 编程助手的最佳实践。 - Git 底层原理:
.git目录结构、Blob/Tree/Commit 对象、Packfile、引用与符号引用,深入理解 Git 如何工作。 - Git 速查表:汇总核心命令与工作流场景,方便快速查阅。
📖 如何使用本节
- 循序渐进:建议初学者按照章节顺序学习;有经验的用户可直接跳转到需要的内容。
- 动手实践:所有代码块均支持一键复制,动手操作是掌握 Git 的最佳途径。
- 理解原理:在记忆命令之前,先理解 Git 的快照机制与三区概念。
🧭 目录
- 🚀 Git 基础入门
- 🌿 日常工作流
- 🛡️ 进阶操作
- ✍️ 提交规范
- 🤝 团队协作与分支策略 - 🌊 Git Flow 模型
- 💥 冲突解决与灾难恢复 - 🔥 合并冲突处理实战
- 🏭 现代工程化与 CI/CD 集成 - 🤖 GitHub Actions 中的 Git 操作
- 📦 大文件与大仓库处理 - 📁 Git LFS 大文件存储
- 🏠 工作区多开(Git Worktree + AI 编程) - 🌲
git worktree基础 - 🔬 Git 底层原理 - 📂
.git目录结构详解 - 📝 Git 速查表
📝 版本说明
Git 是一个持续发展的工具。本节力求记录最新的最佳实践,但由于技术的快速迭代,部分细节可能会随 Git 版本或社区规范的更新而有所变化。
🔍 对比官方文档的取舍
- 🗑️ 删除底层原理细节:删除了
.git目录内部结构、Packfile 格式等底层实现细节,默认读者关注实用技能而非 Git 内核原理,如需深入,请查看 Git Internals。 - 🏢 删除服务器管理内容:删除了 Git Server 的 SSH 配置、HTTP 协议搭建等内容,目前更推荐使用 GitHub、GitLab、Gitee 等平台托管,而非自建服务器,如需相关支持,请查看 Git on the Server。
- 🐧 省略环境特定说明:删除了 macOS、Windows、Linux 各平台的安装差异细节,默认读者可自行完成安装,如需相关支持,请查看 Getting Started - Installing Git。
- 🧹 精简历史迁移内容:删除了从 SVN、Mercurial、Perforce 等系统迁移到 Git 的详细步骤,如需相关支持,请查看 Migrating to Git。
- 📦 省略 Git 属性与过滤器:删除了
.gitattributes配置、LFS 大文件存储等进阶配置,除需要处理二进制资产的企业场景外对普通开发者意义不大,如需相关支持,请查看 Git Attributes。 - 🔐 省略 GPG 签名提交:删除了 GPG Key 配置与签名提交的内容,除开源项目维护者外普通开发者需求较少,如需相关支持,请查看 Signing Your Work。