首页 > 编程知识 正文

svn和git的区别及适用场景,为什么用svn不用git

时间:2023-05-05 07:16:21 阅读:132053 作者:3090

http://www.Sina.com/http://www.Sina.com /

Git

1、适合分布式开发,强调个体

2、公共服务器压力和数据量不大

3、速度快、灵活

4、任意两位开发者之间可以轻松解决冲突

5、能离线正常提交代码和工作

的优点和缺点介绍

1、学习周期相对较长

2、不符合正常思维

3、代码机密性低,开发人员克隆整个库,即可完全公开所有代码和版本信息

3358 www.Sina.com/http://www.Sina.com /这是GIT与其他非分布式版本管理系统(如SVN、CVS )之间最核心的区别。 虽然需要声明一点,但GIT并不是当前唯一的分布式版本控制系统。 此外,Bitkeeper、Mercurial等系统也在分布式模式下运行。 但是,GIT在这方面更好,具有更强的功能特征。

GIT有自己的集中式版本库或服务器,就像SVN一样。 但是,GIT倾向于用于分布式模式。 也就是说,每个开发人员从中央版本库/服务器检查chect out代码后,都会在自己的计算机上克隆自己的版本库。 如果被困在无法连接互联网的地方,可以提交文件、查看历史记录和创建项目分支,例如在飞机上、地下室或电梯里。 对一些人来说,这似乎没什么用,但当宜人的高山突然遇到没有互联网的环境时,这就解决了你的大麻烦。

同样,这种分布式操作模式对开源软件社区的开发也是巨大的恩赐,不需要像以前那样创建修补程序并通过email发送。 只需创建一个分支,将推送请求发送到项目团队。 这样可以使代码保持最新,并且在传输过程中不会丢失。 github.com就是这样一个优秀的案例。

优点所有资源控制系统都将文件的元信息隐藏在. svn、 cvs等文件夹中。 如果将. git目录的体积大小与. svn进行比较,则可以看到它们之间的差异很大。 因为. git目录是您计算机上的克隆版本库,它包含中央版本库中的所有内容,包括标签、分支和版本记录。

缺点分支在SVN中并不特别。 这是版本库的另一个目录。 如果您要知道是否合并了分支,则必须手动运行此类命令svn propget svn:mergeinfo以查看代码是否已合并。 谢谢您向xxdws先生指出这个特征。 所以,经常发生一些分歧被泄露的事情。

但是,处理GIT分支相当简单和有趣。 可以从同一工作目录下快速切换几个分支。 可以很容易地找到未合并的分支。 可以方便快捷地合并这些文件。

Git和SVN的区别迄今为止,与SVN相比GIT是缺失的最大特征之一,SVN的版本号实际上是任意时间的源代码快照。 我认为这是从CVS向SVN进化的最大突破。

1、GIT是分布式的,SVN不是:GIT的内容存储使用SHA-1散列算法。 这样可以确保代码内容的完整性,并在出现磁盘故障或网络问题时减少版本库的损坏。

一个研发团队的成员通常包括需求分析、设计、美工、程序员、测试、实施、运维,每个成员在工作中都有一个产品,包括文档、设计代码、程序代码,所有这些SVN可以按目录明确分类管理,使项目组的管理有序高效。 SVN适合项目管理,Git适合代码管理。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。