精华内容
下载资源
问答
  • 版本控制系统

    2018-11-17 16:50:46
    1、版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 ...许多人习惯用复制整个项目目录的方式来保存不同的版本,或许...本地版本控制系统中最流行的一种叫做 RCS,现...

    1、版本控制

    • 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

    • 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单,但是特别容易犯错。有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件。

    2、版本控制系统

    • 1)本地版本控制系统

      • 本地版本控制系统中最流行的一种叫做 RCS,现今许多计算机系统上都还看得到它的踪影。甚至在流行的 Mac OS X 系统上安装了开发者工具包之后,也可以使用 rcs 命令。它的工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。

    • 2)集中式版本控制系统

      • 集中式版本控制系统(Centralized Version Control Systems,简称 CVCS),诸如 CVS、Subversion(SVN)以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。

    • 3)分布式版本控制系统

      • 分布式版本控制系统(Distributed Version Control System,简称 DVCS),像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

      • 更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。

    展开全文
  • 版本控制系统简史

    2020-10-24 08:47:41
    版本控制系统简史 ​ 团队开发,协作开发使用版本控制,Team当中,有若干成员,比如说10人,DBHelper.cs、其他共用类库文件,还有自己文件,都可以能被别的成员会使用,查看、编辑、删除(这个操作很危险)。 ​ ...

    版本控制系统简史

    ​ 团队开发,协作开发使用版本控制,Team当中,有若干成员,比如说10人,DBHelper.cs、其他共用类库文件,还有自己文件,都可以能被别的成员会使用,查看、编辑、删除(这个操作很危险)。

    ​ 版本控制系统(VCS,Version Control System)可以划分为集中式和分布式两大类。集中式顾名思义,是用单一的服务器集中管理保存项目的所有文件。项目团队的成员通过客户端连接到这台服务器,下载或提交文件。客户端一旦无法连接服务器,那么版本控制功能将无法使用(例如比较历史版本差异;查看某个历史版本内容等)。集中式:VSS、TFS、SVN,VCS杰出代表是SVN(小[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MIGGblHQ-1603500412054)(D:\zyg\ado.net\day072-vss\assets\1D5DDDCA.png)])。

    ​ 分布式的特点是每个客户端除了可以连接到一个集中的服务器外,客户端本身可以是一个完整的版本控制仓库,项目团队成员可以在自己的电脑上对文件进行版本管理。分布式的VCS杰出代表是git。

    img

    主要的VCS工具Google趋势图

    集中式

    最早出现的版本控制系统CVS

    CVS的全称是Concurrent Version System,诞生于1985年,荷兰一所大学的一个教授为了方便自己和学生的协作开发而实现的
    CVS中确立的版本控制概念诸如commit、checkin、checkout、tag、branch等已经成为版本控制系统的标准。
    虽然现在仍然有项目在使用CVS,但是新项目基本上不会再考虑它了。

    最流行的集中式版本控制系统SVN

    SVN的全称为Subversion,是在2000年由CollabNet公司发起开发的版本控制系统,2009年左右,成为Apache的一个子项目。SVN是集中式版本控制管理的集大成者,目前仍有比较多的用户项目在使用,不过近些年的市场占有率在大幅度下降了。

    来自微软公司的VSS及其替代者TFS

    VSS的全称是Visual Source Safe。早些年使用微软技术开发的人应该对VSS不会感到陌生。在2005年以后,VSS逐步被同样是来自于微软公司的TFS(Team Foundation Server)取代。VSS/TFS同微软的开发工具集成的非常紧密,使用起来也十分便捷。TFS除了支持集中式的版本控制服务器管理外,也支持git托管服务器。TFS目前仍是微软开发工具Visual Studio搭配的首选VCS。

    分布式

    江湖霸主Git

    Git的作者是传奇人物Linus,著名的开源操作系统Linux作者。开发Git也和Linux有着直接关系。在2002年之前,Linux的源码都是Linus人工进行管理的,后来Linus选择了BitMover公司的一款分布式的商业版本控制系统BitKeeper,BitMover给与Linux社区免费的使用授权。在2005年的时候BitMover公司和Linux社区决裂了,于是Linus决定自己开发一款分布式版本控制系统以替代BitKeeper。2005年Linus用了两周的时间完成了Git的核心开发m( _ _ )m。Git诞生后,使用Git的开源项目迅速增加。尤其是著名的基于git的托管开源网站GitHub的流行更加促成Git在版本控制系统市场的江湖霸主地位。

    tHub的流行更加促成Git在版本控制系统市场的江湖霸主地位。

    展开全文
  • 什么是集中式版本控制系统与分布式版本控制系统? 集中式版本控制系统:版本库是集中放在中央服务器的,当我们实际工作的时候,用的都是自己的电脑,所以首先要连接中央服务器,从那里得到最新的版本,然后编写或者...

    什么是集中式版本控制系统分布式版本控制系统?

        集中式版本控制系统:版本库是集中放在中央服务器的,当我们实际工作的时候,用的都是自己的电脑,所以首先要连接中央服务器,从那里得到最新的版本,然后编写或者更改代码,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就很郁闷了。
         分布式版本控制系统:对于搞过大数据(Hadoop)或者大型数据库的朋友,对"分布式"这个概念一定很熟悉了,在此不做过多的解释。与集中式版本控制系统相比,分布式版本控制系统没有中央服务器的。每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库。那问题来了,如何进行多个人项目开发协作呢?比如说某人在电脑上修改了文件A,同时其他人也在电脑上改了文件A。这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。            
    如果你用过SVN与Git,不难得出一个结论:

        SVN属于集中式版本控制系统,而Git属于分布式版本控制系统

        啰嗦了这么多,希望能够帮助一些存在疑惑的朋友,如果有什么问题,欢迎交流!


    展开全文
  • 版本控制和版本控制系统的区别

    千次阅读 2016-08-08 20:10:57
    版本控制和版本控制系统的区别  转载必须声明转载地址http://write.blog.csdn.net/postedit 一、何谓版本控制 它是一种软件工程籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新,它透过文档控制...

    版本控制和版本控制系统的区别

     转载必须声明转载地址http://write.blog.csdn.net/postedit

    一、何谓版本控制

    它是一种软件工程籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新,它透过文档控制记录程序各个模块的改动,并为每次改动编上序号,并且编辑错误之后还可以回溯到以前的版本

    二、为何要使用版本控制系统

    1、你是否遇到如下烦恼?

    1.不小心删除了自己的项目文档和源代码文件

    2.不敢修改自己的源代码文件

    3.不知道如何把自己项目文档传递给他人

    4.不知道如何把自己的项目分发

    5.不断的拷贝和备份

    6.文档和源代码管理混乱,无法查找

    2、广义的来看待版本控制:平安保险销控会(非软件开发范畴)

     

    三、可供我们选择的版本控制系统

    1VCS 本地版本控制不能粒子提交

    2VSSCVS 集中版本控制不支持粒子提交

    3ClearCaseSVNPerforceTFS 集中版本控制支持粒子提交,不支持分布式。

    4Mercurial(水银/水星)、Git 分布式版本控制支持粒子提交,支持分布式。

    VSS

    是一种版本控制系统,它提供了完善的版本和配置管理功能,以及安全保护和跟踪检查功能。还提供了还原点使开发人员能够回滚或撤销任何对应用程序的修改。VSSVisual Studio的充分集成,成为了独立开发人员和小型开发团队所适合的工具。作为版本控制系统,Visual SourceSafe能够:

    u 组内合作:在缺省情况下,同一个源文件在某一时间只允许一个用户修改,可防止文件被

    u 意外改动或覆盖。

    u 版本追踪:对源代码和其他文件进行存储和早期追踪,从而实现早期版本的回滚。

    u 跨平台开发

    u 模块化代码追踪

    CVS

    全称(Concurrent Version System)是一款简单易用、功能强大、跨平台的免费版本控制软件,它是一款典型的Server/Client端软件。

    CVS功能介绍:

    l 代码统一管理,保存所有文件的修改记录。方便查看新增或删除的文件;跟踪修改记录,随意回滚到以前任意版本。

    l 完善的冲突解决方案,无需借助其他的文件比较工具和手工的粘贴复制。

    l 代码权限管理。可为不同的用户设置不同的权限,提供了相应的功能扩展接口,以便实现个性化功能。

    l 支持版本发布和分支功能。

     

    SVN

    是一款跨平台版本控制软件,拥有自己的版本资料库,允许用户在不同空间和时间上修改和管理同一组数据,从而使开发进程非常快速。软件产品的所有版本都会被存入库中,避免由于错误影响产品质量。

    SVN作为一款通用的版本控制系统,它具有以下功能:

    v 大部分CVS功能

    v 目录版本化

    v 实现版本的复制、删除和重命名

    v 自由的版本化数据操作

    v 混合追踪

    v 文件锁

    v 独立进程模式

     

    Git 

    是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理分布式和集中式的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库

    经典的Git开发过程:

    ① 从服务器上克隆数据库(包括代码和版本信息)到单机上。

    ② 在自己的机器上创建分支,修改代码。

    ③ 在单机上自己创建的分支上提交代码。

    ④ 在单机上合并分支。

    ⑤ 新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

    ⑥ 生成补丁patch),把补丁发送给主开发者。

    ⑦ 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

    ⑧ 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

    展开全文
  • 版本控制系统 “代码”作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储、追踪文件的修改历史,记录多个版本的开发和维护。于是,版本控制...
  • 版本控制系统概述

    千次阅读 2016-10-29 12:53:38
    版本控制系统VCS(version control system),是一种记录若干文件变化,以便将来查阅特定版本修改记录的系统。对于编程开发人员来说,我们常使用版本控制系统来对程序源代码进行版本管理。但实际上,我们可以对任何...
  • 版本控制系统(Version Control System,以下简称VCS)就是一个用来记录文件变动历史的系统,便于之后切换回去查看你修改的历史;举个最简单的例子,我们大家写毕业论文的时候,应该不会是一次就写好了,中间会有...
  •   版本控制系统(Version Control System,VCS)是一种软件,可以帮助软件团队的开发人员协同工作,并存档他们工作的完整历史记录。 为什么 在我们的实际开发过程中,经常会有这种需求或问题 我们需要在已经发布...
  • 分布式版本控制系统

    千次阅读 2009-10-09 13:19:00
    分布式版本控制系统——Mercurial一、 分布式版本控制系统介绍(1)CVCS与DVCS Centralized Version Control Systems集中式版本控制系统Distributed Version Control Systems 分布式版本控制系统分布式版本...
  • Gitlab+Git实现版本控制系统

    千次阅读 2019-07-10 16:33:26
    在谷歌百度搜了大量的文章去学习,但发现自己安装时总有些坑在等着我们,经过了多次的安装卸载终于算是走了出来,在这里我给大家完整的介绍版本控制系统从搭建到使用的步骤,中间有些比较坑的地方也会着重提醒,希望...
  • SVN是Subversion的简称,开源的集中式管理代码的版本控制系统 2. 原理 原理是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。多人协作开发也是如此...
  • git分布式版本控制系统
  • 如果你连分布式版本控制系统都不知道,那说明你有点low了,自己该反思反思了(手动狗头)。这篇文章呕心沥血的带你从零开始Git之旅。 PART Ⅰ 分布式版本控制系统简介 1. 什么是分布式版本控制系统? 背景带入:...
  • 集中式版本控制系统(有 SVN、CVS等) 集中式有中央仓库(需要联着网工作) 修改的版本都在服务器仓库,每次对比代码 分布式版本控制系统(git) 分布式没有中央仓库,存在客户端一份(不用时刻连网,拉取代码时要...
  • git(版本控制系统)的使用

    千次阅读 2016-11-28 17:46:22
    git的简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。集中式版本控制系统(svn): 中间是中央服务器,其他所有电脑都需要从中checkout代码下来。只有中央服务器管理着各个...
  • 版本控制系统VCS小结

    2013-12-12 14:51:39
    1.版本控制系统,Version Control System,简称VCS。   2.VCS的分类:  a)本地版本控制系统  本地版本控制系统大多都是采用某种简单的数据库来记录文件的历次更新差异。这类的VCS有rcs等等。其架构图如下: ...
  • SVN,CVS版本控制系统

    千次阅读 2015-03-07 10:13:13
    SVN(Subversion)是一个开放源代码的版本控制系统,配套使用的是SVN服务器,采用了分支管理系统,其设计目标是取代CVS.互联网上的很多版本控制器已从CVS迁移到SubVersion 版本控制器的原理:A B 同时开发一个项目,a写完...
  • GIT(分布式版本控制系统)入门

    千次阅读 2017-12-20 22:10:22
    什么是GIT Git是目前世界上最先进的分布式版本控制系统(没有之一)。    那么问题来了,什么是分布式版本控制系统。    这里举个例子,你需要编写一个文档,这个文档呢财务部需要,产品部也需要。那么你要...
  • 【VCS】-常见的版本控制系统(VCS)

    千次阅读 热门讨论 2017-01-08 22:57:46
    一、什么是版本控制系统?  版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统 1、作用  记录文件的所有历史变化  随时可回复到任何一个历史状态  多人协作开发或者修改  ...
  • CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统。集中式和分布式版本控制系统有什么区别呢?   先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以...
  • 本课程适合与Windows、Linux和macOS系统,请各位同学不必纠结操作系统版本问题,因为git是跨平台的,任何操作系统版本都一样。 本课程主要介绍了git的基础知识,包括git简介,安装git,克隆git仓库、查看文件状态、...
  • 本片主要介绍如何搭建SVN版本控制系统,主要使用工具:  1 客户端:TortoiseSVN (小乌龟)  2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统。 背景知识  ...
  • 所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动。Git和其他版本系统的主要区别是Git对数据的重新思考。概念...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,760
精华内容 17,904
关键字:

版本控制系统