您的位置:首页 > 其它

浅谈Git与SVN的使用感受

2015-08-10 22:54 274 查看
作为版本控制工作,两者的做大的区别应该在于:Git属于分布式版本控制工具,而SVN属于集中式的版本控制工具。分布式的好处是什么呢?举个例子来说,当你在火车上离线状态下编程工作,在某个阶段会需要先保存正确的代码状态(以便后续出问题时可以回滚),再开始后续的编码,这个时候Git就会发挥它的优势。因为它的分布式特性,可以同时拥有远程仓库和本地仓库,在火车上,即使不联网,也可以将程序的修改commit至本地的仓库,在联网的条件下再push到远程仓库中。而SVN因为是集中式的控制管理,所以它的每一次commit都需要联网提交至服务器端。

除了上面的描述的优势,git还有其他让人喜欢的特点:

git只在仓库(repo)的根目录下创建.git文件夹,而svn会在每个目录下创建.svn文件夹(会产生更大的记录内容)

当你删除或是移动仓库内的某个文件时,git会帮你识别出具体的操作,而svn需要人为的指出

程序在编译过程产生的文件,如.pyc,如果不想提交至仓库,git可以在根目录下指定,从而运用到子目录,而svn就不容易做到这一点

现在越来越多的人使用git,它的风头也渐渐盖过了svn,而当我在某游戏公司实习时,却意外发现了svn的优势。前面讲到,git是一种分布式的版本控制工具,支持远程仓库和本地仓库,因此也就增加了使用的复杂性。与远程交互用push/pull,与本地交互用commit/checkout,而且它也缺乏好用的客户端。我们的游戏开发,需要策划、程序员、美术协同工作,虽然程序员接受git的使用相对简单,但是要给策划、美术做培训需要时间、人力的成本,svn以它简单操作的优势,在公司内部盛行。而且,它有一个很好用的客户端:TortoiseSVN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  svn git githuh