热门内容

公众号"MAKE1"

获取行业最新资讯

请扫码添加

专业客服企业微信

代码管理工具用Git还是SVN?详解Git和SVN的优缺点--燚智能硬件开发周教授

简介

软件开发工程师,都需要代码管理工具,能够记录谁、什么时候、改了什么代码。一旦出现bug,就可以逐步排查。

觉得有道理? 左侧有“公众号”、“微信号”、“头条号”,随便你想加哪个都行!还不过瘾,直接Call我们吧!

代码管理,是干什么的?

代码改了,改好了老问题,改出来新问题。哪里出问题了?

几个工程师一起开发,各自的版本都没问题,合到一起出问题了。谁的问题?

软件开发工程师,都需要代码管理工具,能够记录谁、什么时候、改了什么代码。一旦出现bug,就可以逐步排查。

(上学的时候老师肯定不教这些,而上班的第一课往往都是代码管理工具怎么使用)

用的比较多的代码管理工具

嵌入式产品和物联网产品开发中,使用比较多是Git和SVN。

Git:免费、开源、分布式版本控制系统,只要会用,大小项目都合适。

Git用了分布式版本库的作法,每个人有自己的一套代码,权限管理很严格,很多人一起开发一套软件也不会混乱。

有很多代码托管平台,也是基于Git来做的,如Github,Bitbucket,码云、Coding、华为软件开发云(DevCloud)等

SVN: 比较古老的一款,是开源的代码管理工具,是CVS的重写和改进版。多个开发人员协同开发,共用一个中心版本,记录大家的文件版本,是集中管理工具中应用最广泛的工具。

.

论Git比SVN好在哪里?

Git和SVN最大的差异在:Git用户有自己的本地的版本控制,SVN只有服务器上的版本控制。

Git里,每一个开发者在本地都有一个git仓库,在服务器上也有一个总的库;SVN则必须要把代码提交到中心控制器。

1、安全性:

git采用分布式系统,每个用户都相当于一个git的备份仓库,同时采用哈希校正保证数据的完整性, 仿制恶意篡改;SVN 的代码均存于中央服务器,服务器一旦出现故障,或者数据被修改,损失难以挽回。

2、开发审核:

git支持各个研发团队自己建立分支,在代码合并是可以从提交说明, 代码规范等多个角度对提交逐条审核;而SVN不具备这些功能。

3、版本发布控制:

git有良好的成员权限管理,我们可以设定只有管理者才能推送版本和分支;SVN的发布控制并不好用,更多的是靠人为的约束和制度的管理。

4、合并支持:

Git基于对内容的追溯,而非对文件名追溯,文件改名的时候,能够很好进行合并。而SVN遇到改名的时候就比较麻烦。

5、分支功能:

git的提交便于查询和追溯,提交内容的历史,时间,并且支持分支之间相互提交,操作灵活。SVN无法查询追溯分支之间的提交历史。

6、易用性:

SVN图形化界面做的好一些,适合开发者少的小系统使用。如单片机类的产品开发

Git主要是命令行操作,用起来复杂一些,适合开发者较多或容量较大的系统,如Linux和Android系统的开发。

总结

人少、代码少的,可以用SVN

人多,代码多的,可以用Git

嫌配置麻烦,又不担心代码安全性的,用GitHub类的云端代码托管。

(以上主要针对系统级开发,在互联网级的纯软件开发上,用svn和git的都有)


觉得有道理? 左侧有“公众号”、“微信号”、“头条号”,随便你想加哪个都行!还不过瘾,直接Call我们吧!

精彩内容回顾:

Git本地版本的使用方法介绍,软件工程师必看

Android Things软件开发,软件工程师要学新知识了!

头条号:https://www.toutiao.com/i6531158531972792835/

4
 条评论
相关内容推荐