SVN和Git的区别

SVN和Git都是比较常用和熟悉的版本控制器,各自有着自己的优势和实用场景,今天就着两种版本控制器来说说。


SVN:SVN是Subversion的简称,是一个开放源代码的集中式版本控制系统,支持大多数常见的操作系统。比Git早些出来,目前来说,大多是开发人员都是比较熟悉这款工具的。TortoiseSVN这款辅助软件相信很多人都用过。


Git:是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。是一款比较进阶的代码控制器。


SVN的特点:

(1)SVN的部署比较方便,拥有一个服务器主仓库,开发人员都相当于是客户端,设计理念上比较简洁,容易让人理解和接受,适合中小型代码项目。

(2)使用的时候,首先开发人员都需要从预先的url仓库获取代码到本地,然后大家集中向url仓库提交代码。最终的版本就是这个仓库。

(3)提交代码的时候先建议update,否则可能多个开发人员对同一个文件提交引起代码冲突。

(4)如果中央服务器宕机,开发人员将不能及时进行代码提交,如果中央服务器瘫痪可能导致数据和日志丢失。


Git的特点:

(1)Git设计的原理比SVN要复杂一些,开发人员学习和理解的成本略高,它不是一个集中式的管理方式,引入了分布、分支等多个概念。

(2)分布式也就是说当从服务器检索好代码到本地的时候,本地会自动创建一个仓库,本地的仓库和服务器的仓库的地位是一样的。

(3)提交代码的时候一般是先提交(commit)到本地仓库,然后在push到服务器仓库进行合并(merge)。

(4)当没有网络的环境下,依然可以方便本地仓库的提交代码和查看代码的历史日志。服务器就算宕机和故障,代码恢复也是轻而易举。

(5)可以在本地灵活创建分支,然后提交到服务器上,多个分支来进行版本分化。


两种版本控制器的选择:

其实无论是哪一种版本控制器,都能够满足基本的协同需求,首先是看团队成员对版本的熟悉程度来选择。其次建议代码量过大的程序还是使用Git安全性比较高,同时一般情况下,两种版本控制器都会用,SVN一般用来管理项目,放设计图,各种文档和资料,这种东西没有必要弄得那么麻烦,而且本来就是需要大家共享且改动不大,其次Git专门用来管理代码。







你可能感兴趣的:(服务器运维/架构,版本控制)