版本控制-尚课程讲义_第1页
版本控制-尚课程讲义_第2页
版本控制-尚课程讲义_第3页
版本控制-尚课程讲义_第4页
版本控制-尚课程讲义_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

版本控制器 负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏, A梦的时光机啊? 和先后从文件服务器上了同一个文件:ysis.java。器上;在ysis.java文件中的第50行了一个方法,叫sum(),也随后保存到了文件服务器上,于是,count()方法就只存在于的中了——需求1.4老许是一位项目经理,我会告诉你他把每一个版本都保存一份吗?我会告诉你这些工程里其实有很多文件都是重复的吗?我会告诉你老许为这事删了很多1.5是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序Bug30多个小时才知道是因为 小温这两天的如同掉进了蜜罐里因为他成功的得到了前台MM丽丽的芳心,可他郁闷的是这几天总是收到QA小组的邮件,要求他修正程序中存在的Bug,可他自己本地电脑上是没有这些Bug的难道代码被哪个孙子给改了?。QA小组小郑的女朋友啊!——需求之六:权限版本控制[Revisioncontrol],最初来源于工程设计领域,是工程蓝图的标准做法,能追踪工程蓝图从诞生一直到的过程。是一种记录若干文件内容变化,Subversion就是一款实现版本控制的工具通常也称为版本控制器简称SVN。Subversion是Apache组织下的一个项目。①CVSSubversion实现了一个“虚拟”文件系统,可以追踪整个树的修改,文件和都是版本控制的,结果就是可以在客户端对文件和执行移动和命令。 制,SubversionApacheHTTPWebDAV/DeltaVSubversion在稳定性和交互性方面很览等等。也有一个轻型的,单独运行的Subversion服务器,这个服务器使用自己的协议,可以轻松的用SSH封装。Subversion使用二进制文件差异算法展现文件的区别,对于文本(人类可读)分支与的代价不与工程的大小成比例,Subversion建立分支与时只SVN的工作原理:采取客户端/服务器模式——在服务器的版本库中保存项目文SVN支持程序员将本地副本更新到服务器端的版本,也支持将本地副本的最的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端保存的某一SVN(checkout②更新(update:将本地文件更新为服务器端的版本,通常为每天上班时(commit目前Subversion的版本是1.9.0-alpha2,这是一个测试版。使1.8.9,原话是:ThebestavailableversionofApacheSubversionis:1.8.9Apache组织自己更新的只是Subversion的源码各个版本的源码包的地址是:SubversionCSubversion在不同平台下的二进制包是由不同组织构建实现的,Windows平台下所以,服务器端程序的地址可以使用:所以 在命令行输入:svnSubversion是将文件数据信息保存到版本库中进行管理的,为了满足用户的不同需求,Subversion允许用户对版本库 ③在版本库 下创建与具体项目对应的 ——这样做的目的是使一⑤版本 结 ①SVN服务器必须处于运行状态才能响应客户端请求,帮助管理项目文件。所以须将SVN服务器启动起来。启动SVN服务器有两种方法一个是命令行方式,一个是Windows服务。SVN服务3690端口打开一个新的cmd窗口使用netstat-an命令查看③Windows服将SVN服务端程序为Windows服务就可以让SVN服务随系起启动,[2]Windows服务需要利用XP、2000以上系统自带工具ServiceControl,执行文件是sc.exe,注意这个命令不是SVN令。binpath关于“版本 Win7及以上系统中,运行该命令需要管理员权限,否则会得到如下错误提● 或电脑卫士提示时,选择允sc命令是否正确netstatan3690端口是否被binpath中的内容有错误,此时只能将已经创建 删除服 使用命令行模式SVN服务 checkoutMyERP,看到里面什么都没有。真的什么都没有吗?不是的。检出命令会在这一下创建一个隐藏.svn,用来保存与服务时间等。SVN正是以此为依据判断当前中文件的状态。所以这个隐藏千件可以视为一个“那么每个开发检出到本地的文件可以视为“副svncommitsvnaddtest.txt⑤再次执行svncommit限⑥使用-m限进入对应的版本 下的 19行的#anon-access=readanon-access=write,也就是去掉“#readwrite。注意前面不要留空格,一定要顶格写。svncommit ②回到 svnupdate这 就可以在 下看到 本在工作中没有被修改,而且自当前版本之后,其他终端也没有任何该svncommit和svnupdate都不会发生任何事。②本地修改,svncommit会成功提交你的修改,而svnupdate则不会作任何事。版本比服务器端的版本了称之“过时对当前文件的svncommit不会发生任何事,而svnupdate会让工作中的文件更新至版本。本地有未提交的修改,则无法提交,对它执行svncommit会产生“out-of-date”SVN会尝试将服务器端的更新与本地发生。svnupdate③这里需要注意的是,SVN版本号并不是对某一个文件进行,而是对应整个pp.txt10svnupdate③综合这两个例子,可以认为版本号和文件名构成了一个横纵坐标系,通 19anon-accesswrite注释掉:anon-access20行auth-accesswrite注释打开:auth-access27行注释打开:password-db表明使用 36行注释打开:authz-db表明使用 passwdauthz文件:# 这个例子表示当前版本库下的subDir 只有userOther有读写权限,其它用户在版本库 将未修改的authz和passwd文件拷贝到 修改需要设置权限的版本库的svnserve.conf ②authz-db svninfo③对某一个文件使用svninfo查 svnlog[注意:使用这个命令的前提是设置为none,即:anon-access=none,否则会出现“svn:E220001:条目不可读”错误]EclipseSVNEclipse,在Eclipse中EclipseMarketplaceClient可以搜索Subversion插件,按提, ②将features和plugins到Eclipse安 ④进入Eclipse依次打开Window→Preference→SVN,看到如下界面即说SVN插件安装成功①切换到SVN研②创建位 下会自动创建.svn隐“+④文件修改后图标会变为“*”,表示当前文件或包含未提交的修改。EclipseSVN服务器端,可以通过“共享”项目选择一个位切换到TeamSynchronizing,选择项目中要提交的内容,通常是项目中的时图标变为“*可以通过将对应版本库中的svnserve.confanon-accessnone解决<1>两个开发,Harry和Sally,分别从服务器端了文件A<2>Harry修改之后,A变成了A’,Sally修改之后,AA’’<4>SallyA’’已经过时了,此时她已无法提交文件,服务器会要求她先SallyHarrySally所做的修改与Harry发生。publicstaticvoidmain(String[]args){System.out.println("EditBypublicstaticvoidmain(String[]args){System.out.println("EditByCommand!");System.out.println("EditBy<<<<<<<System.out.println("EditBySystem.out.println("EditByCommand!New>>>>>>>System.out.println("EditByCommand!");System.out.println("EditBy}}其中,从<<<<<<<.mine到=======之间是发生时本地副本的内容。与文件同 与文件同 下新增文件扩展名为.r小版本号例如My 其内容是发生之前,服务器端的文件内容,可以作为解决的参照。与文件同 下新增文件扩展名为.r大版本号例如My 其内容是发生时,服务器端的文件内容。②解决以对比的方式将本地内容与内容显示出来,其中左侧为本地内容,右侧为内容。其中本地内容是可以修改的。根据需要和实际情况将本地内容更正——这个过程很可能需要牵涉的以及>>>>>>>.r14等标记都会被去掉。“*,SVNTortoiseSVNWindowsApacheSubversion®的客户端工TortoiseSVNWindows的外壳(例如资源管理器) 以看到更改过的文件列表-只要双击文件就可以查看更改内容。④SubversionSubversion命令存在于资源管理器的右键菜单,TortoiseSVN在那里TortoiseSVN2002年,TimKempSubversion是一个非常好的版本管理系统,但是缺WindowsSubversion客TortoiseCVSCVSTim研究了TortoiseCVS的源码并以此为TortoiseSVN的基础。他开始这个项目,注册了tortoisesvn.并且将源码放在了网上。StefanKüng正在寻找一个好用的并且免费的版本控制系统。他SubversionTortoiseSVNTortoiseSVN还不能使用,他加由于Subversion变得越来越稳定,它吸引了越来越多用户,他们同时也开TortoiseSVNSubversion的客户端程序。用户数量快速增长(并且每天还在增长)这时候,LübbeOnken提出帮助项目提美的图标和TortoiseSVN①安装程序:Win32位:TortoiseSVN-5475-win32-svn-1.8.9.msiWin64位:TortoiseSVN-5475-x64-svn-1.8.9.msiWin32位语言包:LanguagePack_1.8.7. Win64位语言包:LanguagePack_1.8. Win32在任 ①创建一 用来存放检出得到的文件,例如②进 explorer.exe就可以了。●图标4:如果你给一个文件设置了svn:needs-lock属性,Subversion会让:●图标6这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本: :●图标8横条告诉你有一个文件或 ::●图标9这个图标说明文件和 :①使用TortoiseSVN可以提交具体某一个文件,或某一 add操作的选项,如前所述。但在新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论