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时更加流畅丝滑。