什么还有那么多人用SVN?

Git 和 SVN 是两套不同风格的版本控制系统,我从国企跳槽到互联网公司,在国企中用的 SVN ,在互联网公司用的 Git,各有其原因吧,存在即合理,对于这个我们改变不了什么,跟着同事使用就行。简单的对 Git 和 SVN 做一个对比:1.Git是分布式的,而SVN不是分布而是集中式的;2.Git把内容按元数据方式存储,而SVN是按文件存储;3.Git没有一个全局版本号,而SVN有;4.Git的内容的完整性要优于SVN,GIT的内容存储使用的是SHA-1哈希算法。

这能确保代码内容的完整性;5.Git下载下来后,在OffLine状态下可以看到所有的提交日志,SVN不可以;6.SVN只能有一个指定中央版本库,存在单点故障风险,而Git的每一个拷贝库都可以用来恢复中央版本库;7.提交(Commit)上的不同:在SVN,当你提交你的完成品时,它将直接记录到中央版本库,而Git提到到本地,需要“推”(git push)到主要版本库。

SVN的特点是简单,只是需要一个放代码进行代码库的共享是完全没有问题的,并且提供有图形化的界面,可以方便的使用图形化进行SVN的各种操作。而Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持,它使我们随时随地可以commit代码到本地仓库,在联调的时候进行代码push即可。使用Git或是使用SVN,往往不是我们能决定了,其受制于公司的研发水平和历史产品选型,往往一旦确定,后期就很少更换了,做为程序员,只能不断学习掌握各种工具,从而在coding时更加流畅丝滑。

我搭了svn服务器,但设计师总抱怨用得非常不爽,说他原来公司只需文件拷贝即可,怎么办?

很简单,svn是给程序员用的,设计师根本就不应该用这种东西来做版本管理,包括git也是,因为你压根看不到修改了哪里,对设计师来讲这些都是繁琐且复杂的备份工具罢了,除了操作复杂外和手动复制文件没有任何不同。那解决方案是什么?很遗憾业界也没有很完善的解决办法,目前单机设计软件里除了AffinityDesigner可以让文件连同历史记录一同保存(文件体积会变大),并且在历史记录面板里可以看到所有历史操作分支外(beta版),其他软件或多或少都是靠插件实现或者没有根本这种功能,这是一块空缺,某些在线工具提供了预览图式的修改历史功能,这些是很好的尝试,另外xd在内测时也曝光过类似的版本管理功能截图,但目前官方并没有放出任何消息。

总结一句,除非程序员产生的版本和设计师完全一致,否则没必要增加设计师的工作量,单个设计文件少则几M大则上G,业界需要一种外部/文件式记录来管理设计图版本,而不是粗暴的让设计师使用程序员的版本管理软件来check in,check out, commit,push,因为看不到版本变化了哪里,这种操作真的是浪费时间。


文章TAG:tortoisesvn  TortoiseSVN  
没有了