1、Git分布式的源码管理
每位开发人员计算机本地会有一份代码库,开发人员可在不受其他人代码提交影响的前提下对源码进行提交/回滚/撤销等操作。
在独立的开发任务中即可实现对源码管理又不受其他开发人员提交的影响。
SVN使用场景如下
- RD1 提交不能编译的版本A1
- RD2 获取最新,RD2无法编译,无法继续开发调试直至RD1修复
有人会说SVN不提交也不会相互影响,但是大家目前都习惯了细颗粒度提交即一次较大修改多次提交,对代码回滚/撤销/修改等操作更能帮助开发人员提高开发效率,Git用户可以创建多个提交节点,若因需求理解错误需要撤销某些修改则直接回滚到最符合需求的提交节点即可。
2、Git优于基于文件夹的分支管理
基于SVN的源码管理一个项目有几个分支,就必须在开发人员本地有几个文件夹,对于集成开发环境来说(VS、IDEA)有几个文件夹就是有几个项目,鉴于集成开发环境打开一个项目所需要的时间来说,在集成开发环境中查看分支内容就非常不现实了。反观Git,多少个分支都仅需要在一个文件夹中切换,集成开发环境加载变更的文件即可。
3、高效的分支管理
对于一个100M的项目SVN从打一个新分支,服务器下载代码,使用集成开发环境打开项目最少五分钟,而Git打一个新分支前后不超过10s。