Git¶
「我的代码明明昨天还好好的,今天怎么就崩了?」——这句话每个程序员都说过。Git 就是你的时光机:它记录代码每一次变化,让你随时回到过去,还能让多人同时修改同一份代码而互不干扰。
graph LR
A[工作目录] -->|git add| B[暂存区]
B -->|git commit| C[本地仓库]
C -->|git push| D[远程仓库]
D -->|git pull| A
classDef area fill:transparent,stroke:#539bf5,color:#adbac7,stroke-width:2px
classDef remote fill:transparent,stroke:#388e3c,color:#adbac7,stroke-width:2px
class A,B,C area
class D remote
📚 学习路径¶
按以下顺序学习,可以建立从基础到精通的完整知识体系:
-
Git 起步版本控制简史、Git 的快照思维、三个区域、安装与初始配置
-
基础操作init/clone、add/commit、status/diff、.gitignore 完整工作流
-
查看历史git log 高级用法、格式化输出、git grep、git blame 追责
-
撤销时光机restore/reset/revert 三种撤销策略,什么时候用哪个?
-
分支机制分支本质(指针)、合并策略(fast-forward vs 3-way)、冲突解决
-
变基详解rebase vs merge 的本质区别、交互式 rebase、黄金法则
-
远程协作remote 管理、fetch/pull/push、远程跟踪分支、多人协作模型
-
贮藏与清理git stash 临时搁置工作、git clean 清理未跟踪文件
-
高级工具cherry-pick、bisect 二分法找 bug、reflog 后悔药、tag 版本发布
-
重写历史amend 修改最近提交、rebase -i 整理提交记录、filter-repo 清理大文件
-
子模块submodule 管理多仓库依赖、克隆/更新/删除子模块
-
Git 钩子pre-commit/commit-msg/pre-push 自动化守卫、代码质量门禁实战
-
内部原理blob/tree/commit 对象模型、引用系统、packfile 压缩原理
-
提交规范与最佳实践Conventional Commits 格式、分支命名约定、原子性提交、GUI 客户端、进阶配置技巧