本地版本控制

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。

Untitled


集中式版本控制(SVN)

集中式版本控制系统,版本库集中存放在中央服务器。在工作时,需要使用自己的终端从中央服务器获取最新的版本,然后再开始工作。当完成工作后,又需要将本次的工作内容推送给中央服务器。

Untitled

集中式版本控制系统最大的特点就是必须联网才能工作。在局域网内部,由于几乎没有延迟、同时也几乎不存在短线问题,因此集中式版本控制系统可以很好地发挥其功能;而若是远程工作,网速以及波动都不可避免,保存同步变得非常困难。同时,集中式版本控制几乎断绝了离线工作的可能。若不联网,开发者就无法看到历史版本,也无法切换版本验证问题,不能在不同分支工作。一旦中央服务器损坏,就会丢失全部的数据。

Untitled


分布式版本控制(Git)

分布式版本控制系统没有中央服务器,即所谓“去中心化”。每个人的终端都拥有一个完整的版本库,这样就便于离线工作。在多人协作时,只要某一个人修改了某个文件,那么他就可以将自己的修改推送到其他用户的版本控制系统中,这样就实现了修改同步。

Untitled

在实际使用中,我们很少点对点地直接将修改同步到他人计算机中。因为我们不能时刻知道对方计算机的在线状态。因此,在实际的工作中,我们也会拥有一个充当“中央服务器”的终端。但这个终端的作用仅是用于方便“交换”大家的修改。

Untitled