Git与SVN版本控制系统

关于版本控制

  什么是版本控制?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。

Git:分布式版本控制体统

是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git的功能特性:

 

 

 

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到自己电脑上。
 
2、在自己的电脑上根据不同的开发目的,创建分支,修改增删代码。
 
3、在自己的电脑里,自己创建的Git分支上提交代码,提交到自己本地的Git仓库;
 
 
 
4、在电脑上合并分支。
 
 
 
5、推送到自己的服务器,(没有完成,不想让别人知道的前提下!)
6、推送到公用服务器上,(已完成!)
 
 
 
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
 
 
 
《每天修改的时候记得在主服务器上获取一下最新的版本,以防冲突》
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
学习周期相对而言比较长。
不符合常规思维。
较复杂
 
安装包链接http://pan.baidu.com/s/1nvJFxrV 密码:zav2

 

SVN是集中式版本控制系统,
说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
集中式管理的工作流程如下图:
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。
 
1、从服务器下载项目组最新代码。
2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
3、最后,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。
 

优点:

1、管理方便,逻辑明确,符合一般人思维习惯。
2、易于管理,集中式服务器更能保证安全性。
3、适合开发人数不多的项目开发。 
4、相对简单,好操作。
 

缺点:

1、服务器压力太大,数据库容量暴增。
2、如果不能连接到服务器上,基本上不可以工作,
3、如果服务器不能连接上,就不能提交,还原,对比。
3、不适合开源开发。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

 

 PS:昨天晚上研究了大半夜的成果!
 
posted @ 2016-09-23 11:26  lik-_-  阅读(1808)  评论(0编辑  收藏  举报