版本管理工具:Git VS SVN,你会怎么选?

01 引言

前一段时间分享了关于Git工具的使用。因为笔者一直用的是SVN,所以本章对比一下GitSVN都有哪些异同点。选择的版本管理工具的时候应该怎么选?

你可能看到这样的文章《弃用SVN,拥抱高效的Git管理》,也可能看到这样的文章《Git还是SVN?为什么很多程序员对Git比较排斥,但又不得不用?》,甚至听到过诧异的反问:我靠,你们竟然还用SVN太Out了…等等。SVNGIT都有一批忠实的粉丝。

因为对Git使用不是特别熟悉,所以不做推荐。既然是工具适合自己就好。我们且对比一下各自的异同点。

02 定位不同

Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到超大型项目的所有项。分布式是很多架构师或者开发者眼前一亮的地方,为了应付复杂的业务项目,分布式项目被广泛使用。同样,Git作为分布式版本控制系统,应该也是时代的产物。

SVN是一个开源的、集中的版本控制系统,由Apache出品,其特点是它是有价值数据的避风港,其模型和用法的简单性,以及它能够支持从个人到大型企业运营的各种用户和项目的需求。

集中式相比分布式的设计,集中式的相对使用起来更急容易上手,更适合新手小白。

03 更新频率不同

Git更新频率比较密集:

SVN更新频率大致每年两个版本:

从更新频率上讲,GitSVN更活跃。

04 使用的复杂度不同

Git日常需要掌握git clonegit pushgit addgit commitgit checkoutgit pull等常用命令,如果熟练掌握还需要熟悉git rebasegit mergegit fetchgit pullgit resetgit revert等的区别。除此之外,还有一些进阶的操作如git stashgit submodulegit Cherry-Pick等。

SVN相比就简单很多,对新手非常友好。简单概括就是检出代码、更新代码、解决冲突和提交代码,所见即所得。

SVN更适合新手或者非相关领域的小白使用。Git命令多,自然功能就会强大,可适用性更强,一旦熟悉可能就再也回不去SVN时代了。如果使用Idea等编辑器集成,则操作流程区别不大。

05 工作模式不同

Git大致分为四个区域:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

workspace工作区就是编码区,即目光所示之处。通过git add将工作区的内容添加到暂存区,可以理解为就只是将工作区将本地仓库和本地仓库建立映射关系。通过git commit将 暂存区的的代码提交到本地仓库(本地仓库就是.git),git push可以将本地仓库的代码推送到远程仓库。

SVN则没有本地仓库之说,工作区直达远程仓库。

06 网络影响不同

Git是可以离线工作的。如果没有网络,用户可以将代码git commit提交到本地仓库,等待网络恢复之后,就可以git push推送到远程仓库了。

SVN如果没有网络,代码就无法推送到远程仓库。容易代码的丢失。

SVN是集中式版本控制(代码仓库只在中央服务器),Git是分布式(每人都有完整仓库)。

07 小结

在企业里主要还是以稳定为主,切换新的技术需要承担风险、成员的学习成本也会变大。GitSVN之争不会停歇,孰好孰坏不能一概而论,只要适合自己才重要。

但是这么卷的市场环境下,多掌握一门技术,就多一分竞争力。我们都要懂一些。

不会停歇,孰好孰坏不能一概而论,只要适合自己才重要。

但是这么卷的市场环境下,多掌握一门技术,就多一分竞争力。我们都要懂一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智_永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值