git和svn的区别
为什么需要版本控制
git和svn都是程序员用来管理代码的,如果是一个人开发一个项目,版本控制这个玩意儿根本用不上,对吧。但是呢,在企业中进行开发,一个人负责一个项目的情况几乎不可能,从需求评审,UI设计,前端开发,后台开发,测试,整个过程都是需要团队来配合的。这个时候呢,版本控制都显得尤为重要啦。
区别
下面我们来说说这git和svn究竟有什么不同:
- 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是一个平台。
最后
我不知道以前听谁说的,写技术博客的意义不在于记,而在于授。这句话说的实在有道理,虽然现在写的这些文字很不专业,看着像是外行,不过我会努力哒(๑•̀ㅂ•́)و✧
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。