很多人觉得 Git 难,是因为一上来就听到「Git 是一个分布式版本控制系统」,却不清楚"版本控制"本身是什么。我们从最基础开始。
1. 版本控制:记录变更历史
版本控制系统(Version Control System, VCS)的核心功能是:
记录文件随时间变化的历史,支持随时回退到任意历史状态。
这类似于文本编辑器的「撤销」(Undo)功能------误删全文后按 Ctrl+Z 即可恢复。但 VCS 更强大:
- 它保存的是完整的、带注释的版本快照;
- 历史可长期保留(数月甚至数年);
- 支持多人协作、分支管理、差异对比等高级操作。
2. 主动提交:代码开发的关键机制
与自动保存的"撤销"不同,VCS 要求开发者主动提交(commit)有意义的变更:
- 每次提交需附带说明(如 "fix: 登录页空指针异常");
- 系统将此次变更作为一个独立、可追溯的版本永久保存;
- 日后可通过日志精准定位、对比或回退。
✅ 这避免了琐碎变更污染历史,使版本记录清晰、可维护。
3. 多人协作:中央仓库模型
单人开发可用本地 VCS,但团队协作需要共享同步机制 。
中央式版本控制系统(Centralized VCS,如 SVN)采用以下模型:
- 所有代码存于中央仓库(服务器或云平台);
- 开发者从中央仓库检出(checkout)代码;
- 修改完成后提交(commit)回中央;
- 其他人通过更新(update)获取最新变更。
工作流程示例(三人团队)
checkout / commit checkout / commit checkout / commit Dev A Central Repository Dev B Dev C
- 主程初始化项目并推送到中央仓库;
- 成员 A、B 拉取初始代码,各自开发独立功能;
- 功能完成后,分别提交到中央仓库;
- 团队成员定期同步,保持本地代码最新。
💡 此模型实现了:隔离开发 + 集中集成 + 历史可溯。
4. 中央式 VCS 的核心三要素
一个典型的 VCS 包含以下三个基本组成部分:
| 要素 | 作用 |
|---|---|
| 版本控制 | 保留完整修改历史,支持回退 |
| 主动提交 | 以语义化粒度记录变更 |
| 中央仓库 | 作为团队协作的唯一同步中心 |
这三者构成了传统 VCS 的基础。而 Git 属于分布式版本控制系统 (DVCS),它在此基础上做了根本性升级------每个开发者都拥有完整的仓库副本,无需依赖中央节点进行大多数操作。
下一篇我们将深入解析:分布式 vs 中央式,到底有何不同?