相信有不少开发的同学遇到过这些问题:

1、自己正在使用git,想推荐其他人使用git却说不出所以然

2、当有人问“svn很简单很好用,为什么要用复杂的git?“你没法有理有据的说服他。

今天我们就来理一理git相比svn有哪些优势吧。

9be1971b230ab4ac1c9afd0d5dadd5a5.png

SVN的优势

1、功能简单、常规操作就是提交和更新,团队使用推广成本低

2、版本号严格要求递增,很容易进行版本比较。

GIT的优势

1、git比svn性能更好,使用更流畅

2、git是基于分布式的设计,去中心化的,这能保障在中央git仓库无法访问的情况下,其他终端的仓库有完整的仓库文件,不受影响,并且任何终端都随时可以将自己变成中央仓库。

3、基于第二点的分布式设计,你可以在本地随意操作版本,git commit 只是提交到本地,不会污染中央仓库,而svn commit 就直接提到到理中央仓库。

1be78da02a88583fa643e00af6175f08.png

4、git有更优秀的分支管理,你可以快速的在几十个分支间流畅切换,但SVN每个分支都是一个copy副本,这带来文件系统的负担。

5、github 等社区的火热,推动理git的生态发展,如果你想要获得一个优秀的”轮子“这需git clone。

6、在大型研发项目中,git的分支管理能有效的配合迭代任务计划,确保项目的不同版本能得到有效的管理。

475a3446b2817263338032c7ca0ba87d.png

7、svn 项目可以很方便的迁移为git项目。

如何在团队内部推行GIT?

如果你想在团队内部推行git,这不仅仅要求你对git本身非常熟悉。还需要你能做到以下几点:

1、知识传播

可以进行2-3次,每次30分支左右的,团队内部git使用培训。

后期这个还需要在研发会议中,进行不断对技术细节加强。因为在git使用过程中,肯定会有团队成员犯错,比如覆盖理代码,误删除了分支等。

2、总结问题

理论上git可以解决项目研发中的版本控制所有问题,但还是会遇到一些需要讨论的问题,比如某个版本需要切分为多个git分支进行并行开发,分支如何进行统一规范标准化命名。

不同的分支在什么时候进行合并,这些都有在实际研发中不断总结和实践,知道做出一套符合项目实际情况的管理规范。

3、关键先生授权

一项技术的推动,单靠热情是无法在企业内部实施的,需要找到”关键先生“,他可能是你的直属领导或老板,你要说服他们使用git的理由,带来的收益,让他们从行政成名给于支持和肯定。

4、AB测试、小范围试点

可以做小范围项目试点,不用以下对技术变革全面铺开,即便你的团队再小,一次性铺开将承受很大的压力。所以最好方法是找一个合适的小的项目,进行小范围的试点1-2个月,进行观察和问题跟踪,后期再逐步铺开。

5、建立标准和规范

上面4点完成后,最后还需建立标准化流程和规范。这也有助团队协作效率提升。比如新来一个开发人员,你不需要单独告诉他如何写git commit message ,他只需要看文档就知道应该如何写。所有的协作都有文档规范指引,没有按照规范做的成员就是在犯规。

7969fbefea9ba616ee2f5137b29f2d5f.png
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐