1.1 起步 - 关于版本控制

关于版本控制

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

如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本控制系统(VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。

本地版本控制系统

许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。

为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异(见图 1-1)。


图 1-1. 本地版本控制系统

其中最流行的一种叫做 rcs,现今许多计算机系统上都还看得到它的踪影。甚至在流行的 Mac OS X 系统上安装了开发者工具包之后,也可以使用 rcs 命令。它的工作原理基本上就是保存并管理文件补丁(patch)。文件补丁是一种特定格式的文本文件,记录着对应文件修订前后的内容变化。所以,根据每次修订后的补丁,rcs 可以通过不断打补丁,计算出各个版本的文件内容。

集中化的版本控制系统

接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )应运而生。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法(见图 1-2)。


图 1-2. 集中化的版本控制系统

这种做法带来了许多好处,特别是相较于老式的本地 VCS 来说。现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。

事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。

分布式版本控制系统

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


图 1-3. 分布式版本控制系统

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


本文来自 http://git-scm.com/ 保存下来,方便自己查阅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
起步  本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。1.1 关于版本控制  什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本控制系统 (VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最 后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改 的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。本地版本控制系统  许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异(见图 1-1)。
运维管理系统简介 1 IT运维 IT运维管理是时下IT界最热门的话题之一,随着IT建设的不断深入和完善,计算机硬 软件系统的运行维护已经成为了各行各业各单位领导和信息服务部门普遍关注和不堪重 负的问题。由于这是一个随着计算机信息技术的深入应用而产生的新课题,因此如何进 行有效的IT运维管理,这方面的知识积累和应用技术还刚刚起步。对这一领域的研究和 探索,将具有广阔的发展前景和巨大的现实意义。 所谓IT运维管理,是指单位IT部门采用相关的方法、手段、技术、制度、流程和文档 等,对IT运行环境如(硬软件环境、网络环境等)、IT业务系统和IT运维人员进行的综 合管理。 2 运维管理系统内容 IT 运维管理主要包括七个方面的管理内容: 设备管理:对网络设备、服务器设备、操作系统运行状况进行监控和管理; 应用/服务管理:对各种应用支持软件如数据库、中间件、群件以及各种通用或特 定服务的监控管理,如邮件系统、DNS、Web等的监控与管理; 数据/存储/容灾管理:对系统和业务数据进行统一存储、备份和恢复; 业务管理:包含对企业自身核心业务系统运行情况的监控与管理,对于业务的管理 , 主要关注该业务系统的CSF(关键成功因素 Critical Success Factors)和KPI(关键绩效指标Key Performance Indicators); 目录/内容管理:该部分主要对于企业需要统一发布或因人定制的内容管理和对公 共信息的管理; 资源资产管理:管理企业中各IT系统的资源资产情况,这些资源资产可以是物理存 在的,也可以是逻辑存在的,并能够与企业的财务部门进行数据交互; 信息安全管理:目前信息安全管理主要依据的国际标准是 ISO17799,该标准涵盖了信息安全管理的十大控制方面,36个控制目标和127种 控制方式,如企业安全组织方式、资产分类与控制、人员安全、物理与环境安全 、通信与运营安全、访问控制、业务连续性管理等; 日常工作管理:该部分主要用于规范和明确运维人员的岗位职责和工作安排、提供 绩效考核量化依据、提供解决经验与知识的积累与共享手段。 3 运维管理市场 据赛迪顾问数据显示,2006年中国运维管理软件市场规模达到2.1亿美元,年复合增 长率25%。这是一个巨大的市场,给中国软件厂商带来了机会。 长久以来,IBM、CA、HP、BMC等国际厂商凭借产品上的优势,在运维管理软件领域处 于主导地位。但是,由于国外厂商鞭长莫及没有人力为用户提供足够的实施服务,造成 了用户购买了软件而不能充分地利用软件的功能,从而造成了资源浪费。 赛迪顾问在《2006~2007中国IT服务管理市场研究年度报告》中指出,在2006年中国I T服务管理市场国内厂商市场份额排行榜中,神州泰岳以42.7%的比例排名第一,其次是 直真节点(16.8%)、东信冠群(13.6%)、亿阳信通(11.5%),其他厂商占15.4%。国 内厂商的异军突起,也使得素有"中国运维管理专家"之称的神州泰岳,在2006年中国IT 服务管理市场品牌的排名上,紧随IBM、HP之后位居第三。目前惠普、IBM、CA占据了60 %的市场分额,神州数码国信、神州泰岳、游龙科技等国内厂商争夺剩下的40%市场份额 。 国内几大运维管理软件企业 1 神州泰岳 神州泰岳的业务方向致力于业务服务管理领域的监控管理、安全管理、流程管理和数 据管理。 在监控管理方面,提供自主版权的、符合国际标准和国内实际的系统网络管理平台— Ultra- NMS和相关软件,同时也提供国外著名平台产品及其上的深度定制和开发的增值解决方案 ; 在安全管理方面,提供自主研发的网络安全运行管理中心—Ultra- SOMC,同时提供网络安全集成服务、安全管理体系标准化咨询服务以及防病毒专家服务 ; 在流程管理方面,结合国际最佳IT管理实践—ITIL,提供自主研发的流程管理平台—U ltra-ITSM,同时也提供基于国际平台的电子运维管理解决方案—Ultra-EOMS ,帮助用户规范管理流程,优化和考核业务所需的服务水平。 在数据管理方面,致力于借助数据分析、数据挖掘、门户展现、信息集成以及用户认 证等方面的先进技术手段,为国内用户提供基于数据仓库和Portal架构的技术解决方案 。神州泰岳提供的专业服务有集成服务、客户定制服务、咨询服务和技术支持服务。 1 运维管理软件 1) Ultra-NMS Ultra- NMS能帮助企业将所有网管系统整合起来,作为网络管理的总控中心,降低系统使用的复 杂度,达到集中监控、统一管理的目的。主动式管理在于分析网络和业务趋势,迅速发 现和定位网络运行中存在的隐患和问题,变被动为主动,变模糊为透明。 2) Ultra-Monitor Ultra- Monitor是由神州泰岳软件股份有限公司自主开发的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值