《SVN使用方法》PPT课件.ppt
SVN的使用,玄武科技:技术中心品管部,写在最前面的话,ie浏览地址:翼讯项目 内网http:/192.168.0.5:9090/svnwebclient/其中的repository name填写svn 外网http:/218.204.245.54:9090/svnwebclient/其中的repository name填写svn 集团短信项目 内网http:/192.168.0.5:9090/svnwebclient/其中的repository name填写jituan 外网http:/218.204.245.54:9090/svnwebclient/其中的repository name填写jituan 部门 内网http:/192.168.0.5:9090/svnwebclient/其中的repository name填写bumen 外网http:/218.204.245.54:9090/svnwebclient/其中的repository name填写bumentortoiseSVN中url地址:翼讯项目:内网 http:/192.168.0.5:9000/svn 外网 http:/218.204.245.54:9000/svn 集团短信项目:内网 http:/192.168.0.5:9000/jituan 外网 http:/218.204.245.54:9000/jituan 部门:内网http:/192.168.0.5:9000/bumen 外网 http:/218.204.245.54:9000/bumen账号:个人姓名拼音全拼(小写)初始密码:123456修改密码网址:内网http:/192.168.0.5:9000/cgi-bin/svnpasswd 外网http:/218.204.245.54:9000/cgi-bin/svnpasswd,2,3,4,TSVN使用流程及图标说明,SVN基本概念,Svnwebclient基本功能介绍,TSVN基本功能介绍,5,Eclipse下svn的使用,SVN基本概念,基于Subversion和TortoiseSVN的版本控制系统Subversion:是一个开源的版本控制系统,拥有CVS的大部分特征,使用上大同小异,部分功能更简单易用;TortoiseSVN:SVN的客户端工具,集成在资源管理器里面,基于TortoiseCVS的代码开发,使用上与TortioseCVS极其相似;Svnwebclient:SVN的ie浏览客户端,无需任何软件即可浏览仓库信息,进行上传下载等操作,简单易用。,配置库(Repository)SVN的核心是配置库,储存所有的数据,配置库按照文件树型方式储存数据包括文件和目录,在权限许可的情况下,任意数量的客户端可以连接到配置库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。最特别的是 Subversion 会记录配置库中的每一次更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。这一点是和cvs不同之处,cvs是针对文件做版本控制,而svn是针对整个库,即使只有一个文件发生变更,那么整个库的版本号都会增加。,工作副本(WorkSpace)与位于服务器中的配置库相对应的是每个人的工作空间,它是每个程序员工作的地方,程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等操作,并把新版本的代码从这里提交回配置库中。,Checkout,Commit,TortoiseSVN的安装,需要安装客户端安装完毕后,在“资源管理器”里点击右键,会有如下菜单出现:,选择TortoiseSVNsettings,进入常规设置页面:,TSVN的使用基本流程,SVN使用图标说明,表示Subversion状态正常。当我们开始编辑一个文件后,图标将变成红色感叹号。通过这种方式,可以很容易地看出我们对哪些文件进行了修改操作,但是还没有提交到版本库中。如果在提交的过程中出现了冲突,图标将变成黄色感叹号。如果我们拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标将提醒我们:如果不使用该文件的话,请进行释放锁操作,允许其他成员提交对该文件的修改。表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。加号告诉我们有一个文件或是目录已经被计划加入版本控制。,CheckOut(检出),作用:将版本库中的内容检出到本地工作副本步骤:1.新建一个空文件夹;比如:E:project 2.在此目录中点击右键-SVN Checkout.,CheckOut的注意项,检出深度:1.全递归(默认选择)检出完整的目录树,包含所有的文件或子目录。2.直接节点,包含目录 检出目录,包含其中的文件或子目录,但是不递归展开子目录。3.仅文件子节点 检出指定目录,包含所有文件,但是不检出任何子目录。4.仅此项。只检出目录。不包含其中的文件或子目录。,Update(更新),作用:更新工作副本使其成为版本库中的最新版本或指定的某个版本SVN将显示出更新的文件和更新的最终版本号,Commit(提交),对工作副本进行编辑后提交到SVN在右键菜单中点击SVN Commit提交前写好信息,点击确定,当进行提交文件操作的时候您将看到权限提示信息输入您的用户名和密码保存权限设置(见红圈),可以避免将来重复输入用户名和密码,权限控制,步骤:点击右键 选择设置 已保存数据 清除认证数据,如何删除认证数据,Show log(显示日志),日志信息填写规则,好的日志信息和糟糕的日志信息 日志信息主要记录的是每次的修改内容。建议把一些重要数据、关键操作写到日志信息中。注:修改人和提交时间由软件自动记录,无需人工写入日志信息,如何得到历史版本,工作副本右键显示日志选择所需的版本号保存版本至,Revert(还原),作用:撤销本地所有未提交的修改注意:还没有执行Commit操作之前执行此命令才可以,否则无效,ADD(添加),选中文件/文件夹(在新文件/文件夹所在父文件夹点击右键),在菜单中选择“添加Add”命令。不需要受SVN控制的文件请取消打钩。如果是新增子文件夹,那么也可以返回上一级目录,直接选择commit,这样也能直接的把子文件夹加入到仓库中。也可以直接在上一级目录右键选择“commit”操作,把文件夹加入到仓库中。,版本分支图,这个版本历史分析图能够显示分支/标签从什么地方开始创建,以及什么时候删除。版本分支图将显示以下内容:(1)增加文件/文件夹(2)已删除文件/文件夹(3)分支最新版本(4)一般的文件/文件夹,创建分支(Branch),两种方式:1.在版本库浏览器中创建分支,创建分支(Branch),2.在工作副本创建分支,创建分支(Branch),Switch(切换),文件创建分支后,可通过Switch选择在主干工作或者在分支工作;注意:(1)切换操作起来就像更新,因为它没有丢弃我们在本地做的修改。(2)在工作副本里,当我们进行切换的时候,任何没有提交过的修改都会被混合。解决方法:1)在切换前提交修改;2)把工作副本恢复到一个已经提交过的版本(比如最新版本)。,冲 突,什么是冲突冲突产生的原因冲突产生的时机解决冲突关于避免冲突的建议,什么是冲突,冲突是指团队协同工作时,当多位团队成员同时修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况,冲突产生的原因,产生原因当团队协同工作的时候,多位团队成员同时操作一个文件。团队成员A操作完成后,将该文件提交到SVN上。此时,其他团队成员的本地文件与SVN上的文件版本不一致。当团队成员B操作完成并对文件进行提交操作时,就会产生冲突。,提交时出现冲突,解决冲突前先更新,编辑冲突,冲突已解决,选择已经解决冲突的文件,右键选择tortoiseSVN已解决的。,提交成功,冲突的解决方案,遇到冲突时,需要update该文件。我们将看到三个带问号的文件filename.minefilename.rOLDREVfilename.rNEWREV面对文件冲突,我们可以选择以下两种方式解决冲突使用工具解决冲突用revert放弃所做的修改,使用工具解决冲突,使用自带工具,如图所示对比两个使用工具解决冲突版本的文件,解决冲突工具中会列出两个版本冲突的部分,并让我们选择使用哪个版本的内容,用revert放弃所做的修改,选择SVN还原(revert)放弃自己所做的修改,解决冲突后,通过上面所说的方法,解决冲突后要选择已解决的(resolved)解决后,带问号的三个文件将自动删除最后选择commit提交到SVN,关于冲突的建议,修改文件之前,先进行一次update操作;修改完成后,及时commit,不要在本地停留过长时间;在多位团队成员协作时,分工要分明,尽量修改自己撰写的部分,不要修改不属于自己撰写的部分;出现冲突很正常,可以通过前面介绍的方法解决,不要相互覆盖。,其他SVN的功能,Export(导出)导出你需要的文件,导出后不再受到SVN的控制;而checkout检出的文件仍受SVN的控制;Import(导入)将需要的文件导入到版本库中;Relocated(重新定位)当服务器上的版本库目录已经改变,我们可以把工作副本重新定位;,Svnwebclient基本功能,Svnwebclient与tsvn的区别在于它是采用ie浏览器的访问方式,不需要安装任何客户端软件,提供的功能比较少,比较适合于管理者或非开发人员使用。,Svnwebclient基本功能,界面信息 登陆进去后,首页显示的就是第一层文件夹,以及版本库相关信息:当前版本号、存在时间、作者、修改路径、日志信息 版本列表 新增文件夹 新增文件 删除文件 下载,版本列表,在Eclipse下使用的图标,受SVN控制的文件被标记为小黄桶;修改过的文件都被标记上一个黑色星号;未受版本控制的文件被标记为问号,将版本库导入到SVN资源库,将新建项目导入到版本库,Eclipse中小组的使用,比较对象,例如:,基本修订版,1)基本修订版:在Eclipse中的基本版,资源库中的最新内容,2)资源库中的最新内容,修订版,4)修订版 比较的对象是你选择的版本号对应的项目,