一:两者的区别
——Git是分布式版本控制系统,SVN是集中式版本控制系统
——集中式版本控制系统
早期出现的版本控制系统有:SVN、CVS等,它们是集中式版本控制系统,集中式版本控制系统有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同合作的开发人员都通过客户端连接到这台服务器,取出最新的文件或者提交更新
——分布式版本控制系统
使用集中式版本控制系统如果服务器发生故障,则整个项目可能就丢失了,而分布式版本控制中每个人的电脑都是一个完整的版本库,当我们拉取时不是拉取最新的文件,而是把整个代码仓库完整地镜像下来,这样的话如果服务器出现故障,都可以用任何一个镜像出来的本地仓库恢复。并且,即便在网络环境比较差的情况下也不用担心,因为版本库就在本地电脑上
——Git比SVN复杂
因为Git有一个暂存区域的概念,导致Git的操作命令和流程更复杂
Git最核心的概念就是有三个工作区域:
工作区:电脑中的实际目录
暂存区:缓存区域,文件有增删改时每次都需要先添加到暂存区
仓库区:服务器仓库和本地仓库
——版本号
Git没有一个全局版本号,采用40 位长的哈希值作为版本号,没有先后之分。而SVN有版本号进行控制,每次操作都会产生一个高版本号