Git与版本控制
版本控制系统(Version Control System,VCS)是一种软件工具,用于跟踪文件随时间的变化,特别适用于开发中源代码的管理。
一、为什么需要版本控制系统
在没有版本控制系统的情况下,开发者通常使用:
-
文件复制夹方式来管理版本:
-
每次改动都手动保存副本,不易管理;
-
多人协作时,文件容易被覆盖,合并冲突难处理;
-
无法追踪是谁、何时、为何修改了什么内容。
二、版本控制系统的主要功能
- 记录每次修改的历史(可以回退到任意版本);
- 比较不同版本之间的差异;
- 显示是谁做了哪些修改;
- 支持多人协作,合并各自的修改;
- 分支管理,用于并行开发和试验功能。
三、版本控制系统的分类
1. 本地版本控制系统
- 只在本地追踪文件变化;
- 示例:
RCS
、SCCS
。
缺点:不能多人协作。

2. 集中式版本控制系统(Centralized VCS)
- 所有版本记录保存在一个中央服务器;
- 开发者需要联网从中央服务器获取或提交更改;
- 示例:Subversion (SVN)、CVS。
优点:统一管理、简单 缺点:服务器挂了,整个团队受阻;离线不可操作。

3. 分布式版本控制系统(Distributed VCS)
- 每个开发者本地都有一个完整的版本库;
- 支持离线提交、查看历史;
- 示例:Git、Mercurial、Fossil。
优点:离线也能工作,速度快,服务器故障影响小,适合开源协作。

四、Git 简介(现代最流行的 VCS)
- 分布式版本控制系统;
- 用“快照”方式记录变化(不是差异);
- 支持分支与合并;
- 广泛用于开源和企业项目;
- GitHub、Gitea、GitLab 等平台基于 Git。
五、Git 基本术语
概念 | 含义 |
---|---|
仓库(repository) | 项目的完整版本数据库 |
工作区(working directory) | 当前正在开发的文件夹 |
暂存区(staging area/index) | 准备提交的更改集合 |
提交(commit) | 一次版本快照 |
分支(branch) | 版本演进的独立 线索 |
克隆(clone) | 复制一个完整的仓库 |
推送(push) | 将本地提交同步到远程仓库 |
拉取(pull) | 从远程仓库获取更新并合并 |