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:昨天晚上研究了大半夜的成果!

时间: 2024-08-09 04:52:39

Git与SVN版本控制系统的相关文章

SVN版本控制系统

SVN 版本控制系统 --------------------------------------------------------------------------------------------- 1.SVN作用 防止代码丢失 : 因为没有哪个项目能够一次性开发完成 代码版本回退 : 你可以在开发过程中找到以前上传到服务器上面的所有版本 多人代码整合 : 公司中多个人开发同一个项目,个人做个人的模块,最后将大家的代码进行整合 使用权限控制 : 一般公司会为新员工设置权限,不让他们直接

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也

[转]TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

puppet结合SVN版本控制系统实现版本的集中化备份与恢复

一.介绍 通过安装部署Puppet C/S模型,实现Puppet Server端管理所有被控制机的整个生命周期:从初始化到软件升级.从配置文件创建到测试部署.从系统维护到服务器迁移等.Puppet能够持续化的与被控制机进行交互,从而实现配置文件的及时检测更新.结合SVN版本控制系统,puppet可在更新之前将当前正在运行的环境以版本的方式保存到SVN版本控制系统中,方便以后通过puppet更新出错或者需要回滚到之前的某一个环境时快速恢复. 二.环境介绍 序号    服务器类型          

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

(转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

git和其他版本控制系统的区别

所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动.Git和其他版本系统的主要区别是Git对数据的重新思考.概念上说,所有其他的系统都是以文件为基础来保存信息.这些系统将信息视为一整套的文件以及对这些文件的修改. Git并不这样看待数据.相反,Git将数据视为一系列的mini filesystem的快照.每次你commit,或者在Git中保存你的项目的状态,它将你的文件在那个时刻

SVN版本控制系统搭建(结合http服务)

.zise { background: #CCCCFF; color: white; text-align: center } .fense { color: #FFCCCC; text-align: center; font-size: 22px } .lan { background: #99CCFF; color: white } table { position: relative; margin-left: 150px } .table td { width: 100px; borde

VisualSVN Server与TortoiseSVN搭建SVN版本控制系统

SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端--VisualSVN Server. 还需要一个用户的操作端,用于提交更新检出代码,常用的有TortoiseSVN(小乌龟). 使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN