Skip to content

Git 学习计划

第一阶段:基础入门(1-2 天)

1. Git 概念与安装

  • 什么是版本控制?为什么需要 Git?
  • Git 与 SVN 等集中式版本控制的区别
  • Git 的三个区域:工作区(Working Directory)、暂存区(Staging Area)、本地仓库(Repository)
  • 安装与初始配置:git config

2. 基本操作

  • git init — 初始化仓库
  • git clone — 克隆远程仓库
  • git add — 将文件添加到暂存区
  • git commit — 提交更改
  • git status — 查看当前状态
  • git log — 查看提交历史
  • git diff — 查看差异
  • .gitignore — 忽略文件配置

第二阶段:分支管理(2-3 天)

3. 分支基础

  • git branch — 创建、查看、删除分支
  • git checkout / git switch — 切换分支
  • git merge — 合并分支
  • 快速合并(Fast-forward)与三方合并(3-way merge)
  • 合并冲突的产生与解决

4. 分支策略

  • Git Flow 工作流
  • GitHub Flow 工作流
  • Trunk-Based Development
  • 功能分支(Feature Branch)的最佳实践

第三阶段:远程协作(2-3 天)

5. 远程仓库操作

  • git remote — 管理远程仓库
  • git push — 推送到远程
  • git pull — 拉取并合并
  • git fetch — 仅拉取不合并
  • git pull vs git fetch + git merge 的区别
  • 上游分支(upstream)的设置与跟踪

6. 协作实践

  • Fork & Pull Request 工作流
  • Code Review 流程
  • 处理远程冲突
  • 多人协作的注意事项

第四阶段:进阶操作(3-4 天)

7. 历史管理与回退

  • git reset — 重置提交(--soft / --mixed / --hard
  • git revert — 安全回退
  • git checkout -- <file> — 撤销工作区修改
  • git restore — 新版撤销命令
  • git reflog — 找回丢失的提交

8. 变基与整理

  • git rebase — 变基操作
  • git rebase -i — 交互式变基(合并/修改/删除提交)
  • git rebase vs git merge 的选择
  • git cherry-pick — 选择性合并提交
  • git stash — 暂存未完成的工作

9. 标签管理

  • git tag — 创建轻量标签与附注标签
  • 标签的推送与删除
  • 语义化版本(Semantic Versioning)与标签

第五阶段:高级技巧(2-3 天)

10. 子模块与子树

  • git submodule — 管理子项目
  • git subtree — 子树合并
  • 两者的区别与适用场景

11. 高级调试与排查

  • git bisect — 二分法定位 Bug
  • git blame — 逐行追溯修改记录
  • git log 高级用法(--graph--oneline--author--since 等)

12. Git 钩子(Hooks)

  • 客户端钩子:pre-commitcommit-msgpre-push
  • 服务端钩子:pre-receivepost-receive
  • 利用钩子实现自动化(代码检查、提交规范等)

第六阶段:工程化实践(2-3 天)

13. 提交规范

  • Conventional Commits 规范
  • commitlint 工具
  • 自动生成 CHANGELOG

14. Git 与 CI/CD

  • Git 在持续集成中的角色
  • 基于分支/标签的自动部署
  • GitHub Actions / GitLab CI 基础

15. 大型项目的 Git 实践

  • git lfs — 大文件存储
  • Monorepo 管理策略
  • 仓库瘦身与清理(git gcgit prune、BFG Cleaner)

学习资源

资源类型说明
Pro Git书籍(免费)官方推荐,最全面的 Git 教程
Learn Git Branching交互式教程可视化学习 Git 分支操作
Git 官方文档文档命令参考手册
GitHub Skills实践课程GitHub 官方学习路径
Oh Shit, Git!?!速查常见问题的快速解决方案

学习建议

  1. 边学边练 — 每个概念都动手操作,不要只看不练
  2. 建立个人项目 — 用一个实际项目贯穿整个学习过程
  3. 画图理解 — 用图形化工具(如 git log --graph)理解分支和提交关系
  4. 犯错不怕 — Git 几乎所有操作都可以撤销,大胆尝试
  5. 总结笔记 — 记录常用命令和踩过的坑,形成自己的速查手册