git和svn的区别

为什么需要版本控制

git和svn都是程序员用来管理代码的,如果是一个人开发一个项目,版本控制这个玩意儿根本用不上,对吧。但是呢,在企业中进行开发,一个人负责一个项目的情况几乎不可能,从需求评审,UI设计,前端开发,后台开发,测试,整个过程都是需要团队来配合的。这个时候呢,版本控制都显得尤为重要啦。

区别

下面我们来说说这git和svn究竟有什么不同:

  1. svn是集中式版本控制系统,git是分布式版本控制系统。
    这句话相信不知道多少人都听过,究竟什么是集中式什么是分布式?很明显嘛,就字面意思啊,这么来说吧,svn就是所有人修改的都是服务器上的程序,如果有人修改了同样的部分,那就冲突了。所以呢,一般团队会约定,对于公共部分的程序,尽量标注出开发人员特有标识,又或者A从上添加,B从下添加。
    git就是开发人员创建自己的分支,这个分支就相当于将源码copy一份在本机上,之后修改的都是本地的代码,可随时拉取服务器的代码进行同步,git可创建无数分支,开发人员只需将自己修改的代码提交就可以了,这样冲突的几率会小很多。
  2. svn是直接与服务器进行交互,git是将项目缓存在本地再推送到服务器。
  3. svn必须在联网的情况下工作,git可不联网开发。
  4. svn易冲突,git不易冲突。
  5. svn旨在项目管理,git旨在代码管理。
  6. svn适用于多项目并行开发,git适用于单项目开发。
  7. svn适用于企业内部,由项目经理协调多个项目统筹开发,git适用于通过网络多人开发同一项目。
git和github

造个句体现一下这两个的关系

mio使用git将项目提交到了github上

也就是说:git是一个工具,github是一个平台。

最后

我不知道以前听谁说的,写技术博客的意义不在于记,而在于授。这句话说的实在有道理,虽然现在写的这些文字很不专业,看着像是外行,不过我会努力哒(๑•̀ㅂ•́)و✧


miomiomio
147 声望5 粉丝

人生昧履,砥砺而行