引言:
Git是一个版本控制系统。版本控制系统可以使多个终端同时在线对一个文件或者数据进行更改而不用每次更改时重复创建多余的副本,或者造成不必要的存储空间浪费。
版本控制系统有两种类型:
一种是集中式版本控制系统:比如SVN、CVS等等。集中式版本控制系统中,所有文件都保存在中央服务器上,每次终端需要对文件进行修改时,都需要从终端服务器上将需要修改的文件下载到终端,在终端上修改完之后再上传到中央服务器,完成一次修改和版本更新。这种版本控制控制系统的优点是:
使用起来非常简单,需要修改文件时只需要从中央服务器上下载到终端,修改完之后再上传到中央服务器就可以了,不需要考虑其他的问题;
但这种系统的缺点也很明显:
当中央服务器损坏、或者遭到攻击时,所有终端都无法获得最新的版本文件和对文件进行修改。只能等中央服务器恢复正常时才可以再次进行操作。
一种是分布式版本控制系统:比如Git、Mercurial等等。分布式的版本控制系统和集中式的版本控制系统最大的区别就是每个终端都有一个完整的版本库,这种系统的优点是:
即使中央服务器损坏也不会对终端产生影响。随时可以在本地终端进行修改不需要考虑网络问题,当需要将修改完成的文件分享出去时,只需要将本地仓库进行同步一下就可以了。因为免费开源、功能强大,而且支持离线工作和分支管理的特性,Git已经成为目前世界上最先进的分布式版本管理系统。