关于版本控制

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

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

转载于:https://www.cnblogs.com/luchengming/p/5899353.html

Git与SVN版本控制系统相关推荐

  1. Git(分布式版本控制系统)

    Git 理论 版本控制是一种记录一个或若个文件内容变化,以便将来查阅特定版本修订情况的系统(记录代码文件的变化),采用版本控制系统(version control system->VCS)你就可 ...

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

    所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动.Git和其他版本系统的主要区别 ...

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

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

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

    转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...

  5. 基于git(分布式版本控制系统)的各种服务器权限工具对比 Gitlab服务器搭建 以及邮箱、LDAP配置 实现公司多人协同开发

    前言 作为大一的小朋友,虽然学的专业和CS有那么一点关系,但放到实习的工作当中,那是完全不够用了:( 在实习老师的指导和帮助下,在实习的头个礼拜,逐步接触了解了git--开源分布式版本控制系统.并在第 ...

  6. 【山外笔记-工具框架】SVN版本控制系统

    [山外笔记-框架工具]SVN版本控制系统 学习资料: 1.本文打印版下载地址:[山外笔记-框架工具笔记]SVN版本控制工具-打印版.pdf 2.SVN和TortoiseSVN在线中文文档:http:/ ...

  7. HG,GIT,SVN版本控制系统

    SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令.当然,三种系统各有特点,严格的对应关系是没有的. 1,第一次下载,包括源码和版本库: svn checkout http: ...

  8. GIT (分布式版本控制系统)

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. [1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版 ...

  9. GIT(分布式版本控制系统)入门

    什么是GIT Git是目前世界上最先进的分布式版本控制系统(没有之一). 那么问题来了,什么是分布式版本控制系统. 这里举个例子,你需要编写一个文档,这个文档呢财务部需要,产品部也需要.那么你要怎么写 ...

最新文章

  1. 2014-01-04 SQL练习
  2. ipython安装教程-ipython notebook教程
  3. qt android meta data,Qt小技巧5.解决Failed to extract plugin meta data问题
  4. mongoose Warning:Server Discovery and Monitoring engine is deprecated
  5. SpringBoot2.x整合Redis实战 4节课
  6. python类继承返回值_python继承threading.Thread实现有返回值的子类实例
  7. Python小白的数学建模课-02.数据导入
  8. 【JS】JavaScript复制内容到剪贴板
  9. ggplot2 | 统计变换的初步理解
  10. json数组转java集合
  11. 7 爬虫 CrawlSpider类 增量式爬虫 分布式爬虫 生产者消费者模式
  12. 学习,不仅要知其然,更要知其所以然。
  13. 计算机u盘启动进不去怎么办,U盘启动盘怎么进不了PE系统 该如何解决
  14. android修改recovery菜单,安卓刷机Recovery菜单介绍刷入教程详解
  15. ios系统铃声调用方法
  16. AcWing2022寒假每日一题(1 月 2 日 ~ 1 月 15 日)
  17. Java中日志的使用
  18. RealmObject-粗心操作引发的巨坑
  19. oracle em错误,em使用错误,求建议
  20. 想进阿里?这些Dubbo面试题助你一臂之力

热门文章

  1. 自动划分-------训练集+验证集+测试集(code,自己设置比例)
  2. 2020最新文本检测算法TextFuseNet
  3. 文本分类的14种算法
  4. mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
  5. 关机时无人照管更新正在运行_路辉物流设备:无人化分拣作业驱动物流业降本增效...
  6. ImportError: libnvinfer.so.7: cannot open shared object file: No such file or directory
  7. loss函数之L1Loss,MSELoss,SmoothL1Loss, HuberLoss
  8. 论文中的一些数学符号表示
  9. Android-----使用Button特效selector+shape
  10. Android中如何设置RadioButton在文字的右边,图标在左边