一、版本控制系统的分类
本地版本控制系统
- 这类系统通常只在一台机器上记录版本的不同变化,确保内容不会丢失。
- 缺点是如果多人开发,每个人都在不同的系统和电脑上工作,则无法有效协同。
集中式版本控制系统(Centralized Version Control System, 简称CVS或SVN)
- 在这种系统中,所有的版本数据都保存在服务器上。
- 协同开发者从服务器上同步更新或上传自己的修改。
- 用户的本地只有自己以前所同步的版本,如果不连网,用户就看不到历史版本,也无法切换版本。
- 所有数据都保存在单一的服务器上,如果这个服务器损坏,就会丢失所有的数据,需要定期备份。
分布式版本控制系统(Distributed Version Control System, 简称DVCS)
- 分布式版本控制系统与集中式版本控制系统的主要区别在于,它允许每个用户都拥有一个完整的代码仓库副本。
- 用户可以在本地查看所有版本历史,可以离线在本地提交更改,只需在联网时将更改推送到相应的服务器或其他用户那里。
- 每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题,就可以恢复所有的数据。
- 这种系统更加安全,不会因为服务器损坏或网络问题导致无法工作。
二、分布式版本控制系统(DVCS)
1. 分布式存储
- 本地存储:DVCS在每个客户端的本地系统上都有项目的完整副本,包括项