Git 版本控制 & 团队协作
🎯 30 章 · 实战目录
01
Git起源与哲学
Linus Torvalds与Linux内核的故事
Git与SVN/CVS的核心区别
三大工作区域与数据流
02
环境搭建与初始化
Windows/macOS/Linux三平台安装
全局配置 user.name / user.email
SSH密钥生成与GitHub/GitLab关联
03
核心操作 (上)
git init 与 git clone
git add 与 git commit
git status 与 git log
理解 .git 目录结构
04
核心操作 (下)
git diff (工作区vs暂存区vs仓库)
git rm 与 git mv
.gitignore 文件编写规则
文件生命周期状态图
05
分支管理艺术
git branch 与 git checkout
git merge (快进合并与三方合并)
合并冲突的产生与解决
分支命名规范 (feature/release/hotfix)
06
远程协作基础
git remote (add/remove/rename)
git push 与 git pull
git fetch 与 git merge 的区别
跟踪分支 (upstream) 的概念
07
时光机操作
git reset (--soft/--mixed/--hard)
git revert 与 git restore
git reflog (后悔药)
git cherry-pick 精选提交
08
标签与发布
git tag (轻量标签与附注标签)
语义化版本控制 (SemVer)
git describe 命令
基于标签的发布流程
09
GitHub/GitLab平台实战
Fork 与 Pull Request / Merge Request
Code Review 最佳实践
Issue 与 Project 看板管理
10
Git Flow工作流
主分支 (master/main) 与 develop
功能分支 (feature)
发布分支 (release)
热修复分支 (hotfix) 完整生命周期
11
GitHub Flow & GitLab Flow
对比三种主流工作流
单主干分支策略
环境分支 (staging/production)
选择适合团队的工作流
12
交互式变基 (Rebase)
git rebase -i 的6种操作
pick/reword/edit/squash/fixup/exec
合并多个 commit
变基黄金法则
13
解决复杂冲突
二进制文件冲突处理
使用 git mergetool (Beyond Compare等)
rerere 重用已记录冲突解决方案
长时间分支合并策略
14
子模块与子树
git submodule 添加/更新/删除
git subtree 使用场景
monorepo 与多仓库的取舍
实际项目中的子模块管理
15
Git钩子 (Hooks)
客户端钩子 (pre-commit/pre-push)
服务端钩子 (pre-receive/update)
husky 与 lint-staged 实战
16
高级搜索与调试
git bisect 二分查找bug
git blame 代码追溯
git grep 与 git log 高级搜索
git shortlog 生成发布说明
17
大型仓库优化
浅克隆 (shallow clone)
稀疏检出 (sparse checkout)
git gc 与 git repack
BFG Repo-Cleaner 清理大文件
18
安全与权限管理
GPG签名提交与标签
SSH与HTTPS权限模型
部署密钥与机器用户
审计日志与合规要求
19
CI/CD集成
Git与Jenkins/GitHub Actions/GitLab CI
基于分支的自动构建策略
语义化版本自动生成
回滚自动化
20
Git与容器化
Docker镜像版本与Git标签映射
GitOps (ArgoCD/Flux) 核心概念
基础设施即代码 (IaC) 版本控制
21
企业级Git管理
Git LFS 配置与使用
仓库镜像与灾备方案
跨团队权限设计
Git服务器 (Gitea/GitLab CE) 搭建
22
Git与敏捷开发
分支与Jira/Trello/Notion关联
基于Git的代码统计 (gitstats)
代码审查与敏捷迭代配合
23
Git与数据库版本控制
Liquibase/Flyway 与 Git 配合
数据库迁移脚本版本管理
schema变更的协作流程
24
Git与文档协作
Markdown文档版本控制
GitBook/MkDocs 与 Git 集成
文档即代码 (Docs as Code)
README 与 CHANGELOG 规范
25
Git与API管理
OpenAPI/Swagger 规范版本控制
API版本与Git标签映射
前后端分离下的Git协作模式
26
Git与微服务架构
多仓库与单仓库的抉择
服务间接口契约版本管理
基于Git的配置中心 (Spring Cloud Config)
27
Git与移动端开发
iOS/Android 的 Git 忽略规则
CocoaPods/Carthage/SPM 与 Git
移动端持续交付的 Git 策略
28
Git与游戏开发
Unity/Unreal 引擎的 Git 配置
二进制资源 (FBX/PSD) 版本管理
美术与程序员的协作流程
29
Git与开源项目
如何向开源项目贡献代码
Fork + PR 完整流程
开源许可证与Git仓库
维护者视角的PR管理
30
Git故障排查与恢复
误删分支恢复
误操作reset后的数据抢救
损坏仓库修复 (git fsck/git prune)
常见错误应对 (detached HEAD/merge冲突)