git和svn的区别
为何须要版本控制
git和svn都是程序员用来管理代码的,若是是一我的开发一个项目,版本控制这个玩意儿根本用不上,对吧。可是呢,在企业中进行开发,一我的负责一个项目的状况几乎不可能,从需求评审,UI设计,前端开发,后台开发,测试,整个过程都是须要团队来配合的。这个时候呢,版本控制都显得尤其重要啦。前端
区别
下面咱们来讲说这git和svn究竟有什么不一样:git
- svn是集中式版本控制系统,git是分布式版本控制系统。
这句话相信不知道多少人都听过,究竟什么是集中式什么是分布式?很明显嘛,就字面意思啊,这么来讲吧,svn就是全部人修改的都是服务器上的程序,若是有人修改了一样的部分,那就冲突了。因此呢,通常团队会约定,对于公共部分的程序,尽可能标注出开发人员特有标识,又或者A从上添加,B从下添加。
git就是开发人员建立本身的分支,这个分支就至关于将源码copy一份在本机上,以后修改的都是本地的代码,可随时拉取服务器的代码进行同步,git可建立无数分支,开发人员只需将本身修改的代码提交就能够了,这样冲突的概率会小不少。
- svn是直接与服务器进行交互,git是将项目缓存在本地再推送到服务器。
- svn必须在联网的状况下工做,git可不联网开发。
- svn易冲突,git不易冲突。
- svn旨在项目管理,git旨在代码管理。
- svn适用于多项目并行开发,git适用于单项目开发。
- svn适用于企业内部,由项目经理协调多个项目统筹开发,git适用于经过网络多人开发同一项目。
git和github
造个句体现一下这两个的关系程序员
mio使用git将项目提交到了github上
也就是说:git是一个工具,github是一个平台。github
最后
我不知道之前听谁说的,写技术博客的意义不在于记,而在于授。这句话说的实在有道理,虽然如今写的这些文字很不专业,看着像是外行,不过我会努力哒(๑•̀ㅂ•́)و✧缓存