1、SVN简介 主要主要内内容容1SVN安装说明2SVN服务器的使用 3SVN客户端使用流程和图标说明4SVN客户端的使用 5一、一、SVN简介简介-为什么使用为什么使用SVN工具工具SVN(Subversion)是非常强大的配置管理工具;是非常强大的配置管理工具;v可以及时了解不同版本之间的差异,可以随时恢复可以及时了解不同版本之间的差异,可以随时恢复到特定的版本;到特定的版本;v可以了解项目团队成员的进度;可以了解项目团队成员的进度;v资源共享,不用远程再发送文件;资源共享,不用远程再发送文件;v协同工作,大大提高了工作效率;协同工作,大大提高了工作效率;一、一、SVN简介简介-SVN基本概念
2、基本概念v配置库(配置库(Repository)nSVN的核心是配置库,储存所有的数据,配置库按照文件树形式储存数据包括文件和目录,任意数量的客户端可以连接到配置库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。n最特别的是SVN会记录配置库中的每一次更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。一、一、SVN简介简介-SVN基本概念基本概念v工作副本(工作副本(WorkSpace)及位于中央配置库相对应的是每个人的工作及位于中央配置库相对应的是每个人的工作空间,它是每个程序员工作的地方,程序员从配置空间,它是每个程序员工作的地方,程序
3、员从配置库拿到源代码,放在本地作为工作副本,在工作副库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等操作,本上进行查看、修改、编译、运行、测试等操作,并把新版本的代码从这里提交回配置库库中。并把新版本的代码从这里提交回配置库库中。一、一、SVN简介简介-SVN基本概念基本概念 配置库配置库 工作副本工作副本CheckoutCommit二、二、SVN安装说明安装说明v技术管理部和标准化人员:技术管理部和标准化人员:SVN服务器:服务器:VisualSVN-Server-2.5.2.msiv研发部人员和测试部人员:研发部人员和测试部人员:SVN客户端:客户端:To
4、rtoiseSVN-1.7.4.22459-win32-svn-1.7.2.msi(先装)LanguagePack_1.7.4.22459-win32-zh_CN.msi(中文包,后装)二、二、SVN安装说明安装说明-客户端安装注意客户端安装注意v安装完成后可以直接使用,但是建议重启安装完成后可以直接使用,但是建议重启v重启之后所有的图标才能使用重启之后所有的图标才能使用v安装完客户端后再安装语言包安装完客户端后再安装语言包v安装后任意位置点击右键安装后任意位置点击右键-打开设置界面打开设置界面v设置中切换语言设置中切换语言二、二、SVN安装说明安装说明-客户端安装注意客户端安装注意二、二、S
5、VN安装说明安装说明-客户端安装注意客户端安装注意三、服务器使用三、服务器使用-服务器属性服务器属性三、服务器使用三、服务器使用-设置版本库位置设置版本库位置设置完成之后需要重启服务。设置完成之后需要重启服务。三、服务器使用三、服务器使用-创建新的版本库创建新的版本库 右图中的右图中的CheckBox如果选中,则在库如果选中,则在库test下面下面会创建会创建trunk、branches、tags三个子目录;不选中,三个子目录;不选中,则只创建空的版本库则只创建空的版本库test,一般情况下选中。一般情况下选中。三、服务器使用三、服务器使用-创建用户创建用户右键点击界面上的右键点击界面上的Us
6、ers文件夹,选择文件夹,选择create user三、服务器使用三、服务器使用-创建用户组创建用户组右键点击界面上的右键点击界面上的Groups文件夹,选择文件夹,选择create Group三、服务器使用三、服务器使用-权限设置权限设置三、服务器使用三、服务器使用-权限设置权限设置三、服务器使用三、服务器使用-备份和恢复备份和恢复v备份:包含备份:包含“定期大备份定期大备份”、“实时小备份实时小备份”v恢复:恢复所有数据恢复:恢复所有数据v待用到时再指导专门维护人员待用到时再指导专门维护人员四、四、SVN客户端使用流程客户端使用流程四、四、SVN客户端图标说明客户端图标说明四、四、SVN客
7、户端图标说明客户端图标说明一个新检出的工作副本使用绿色的对勾做重载。表示一个新检出的工作副本使用绿色的对勾做重载。表示SVN状态正常状态正常.当我们开始编辑一个文件后,图标将变成红色感叹号。通过这种方当我们开始编辑一个文件后,图标将变成红色感叹号。通过这种方式,可以很容易地看出我们对哪些文件进行了修改操作,但是还没式,可以很容易地看出我们对哪些文件进行了修改操作,但是还没有提交到版本库中;有提交到版本库中;如果在提交的过程中出现了冲突,图标将变成黄色感叹号。如果在提交的过程中出现了冲突,图标将变成黄色感叹号。加号告诉我们有一个文件或是目录已经被计划加入版本控制。加号告诉我们有一个文件或是目录已
8、经被计划加入版本控制。未加入到版本控制中的文件,需要添加到未加入到版本控制中的文件,需要添加到SVN中。中。五、五、SVN客户端的使用客户端的使用-CheckOut(检出检出)v 作用:将版本库中的内容检出到本地工作作用:将版本库中的内容检出到本地工作副本副本v 步骤:步骤:v 1.新建一个空文件夹;新建一个空文件夹;比如:比如:E:Proj_trunkv 2.在此目录中点击右键在此目录中点击右键-SVN Checkout.五、五、SVN客户端的使用客户端的使用-Update(更新更新)v 作用:更新工作副本使其成为版本库中的最新版本作用:更新工作副本使其成为版本库中的最新版本v SVN将显示
9、出更新的文件和更新的次数将显示出更新的文件和更新的次数五、五、SVN客户端的使用客户端的使用-Commit(提交提交)v 对工作副本进行编辑后提交到对工作副本进行编辑后提交到SVNv 在右键菜单中点击在右键菜单中点击SVN Commitv 提交前写好信息,点击确定提交前写好信息,点击确定五、五、SVN客户端的使用客户端的使用-Commit(提交提交)日志信息填写规则日志信息填写规则好的日志信息和糟糕的日志信息好的日志信息和糟糕的日志信息日志信息主要记录的是每次的修改内容。建议把一日志信息主要记录的是每次的修改内容。建议把一些重要数据、关键操作写到日志信息中。些重要数据、关键操作写到日志信息中。
10、注:修改人和提交时间由软件自动记录,无需人工注:修改人和提交时间由软件自动记录,无需人工写入日志信息写入日志信息不规范的日志规范的日志去除无用文件删除程序文件中的无用文件temp.c_和temp.cpp修改文档修改“总体方案”中的第3.3章节,张飞提出的修改意见更新配置文件更新公司主题包和配置文件,添加了服务器ip设置功能五、五、SVN客户端的使用客户端的使用-权限控制权限控制v当进行提交文件操作的时当进行提交文件操作的时候您将看到权限提示信息候您将看到权限提示信息v输入您的用户名和密码输入您的用户名和密码v保存权限设置(见红保存权限设置(见红圈)圈),可以避免将来重,可以避免将来重复输入用户
11、名和密码复输入用户名和密码五、五、SVN客户端的使用客户端的使用-删除认证数据删除认证数据 步骤:点击右键步骤:点击右键-选择设置选择设置-已保存数据已保存数据-清除认证数据清除认证数据五、五、SVN客户端的使用客户端的使用-Show log(显示日志显示日志)五、五、SVN客户端的使用客户端的使用-得到历史信息得到历史信息v工作副本右键工作副本右键显示日志显示日志右键选择所需的右键选择所需的版本号版本号复原到此版本复原到此版本五、五、SVN客户端的使用客户端的使用-Revert(还原还原)v作用:撤销本地所有未提交的修改作用:撤销本地所有未提交的修改v注意:还没有执行注意:还没有执行Comm
12、it操作之前执操作之前执行此命令才可以,否则无效行此命令才可以,否则无效五、五、SVN客户端的使用客户端的使用-ADD(添加添加)v选中文件选中文件/文件夹(在新文件文件夹(在新文件/文件夹所文件夹所在父文件夹点击右键),在父文件夹点击右键),v在菜单中选择在菜单中选择“添加添加Add”命令。不需要命令。不需要受受SVN控制的文件请取消打钩。控制的文件请取消打钩。五、五、SVN客户端的使用客户端的使用-冲突冲突n什么是冲突什么是冲突n冲突产生的原因冲突产生的原因n冲突产生的时机冲突产生的时机n解决冲突解决冲突n关于避免冲突的建议关于避免冲突的建议什么是冲突什么是冲突v冲突是指冲突是指团队协同工
13、作时,当多位团队成员同团队协同工作时,当多位团队成员同时修改同一个文件,造成本地文件及时修改同一个文件,造成本地文件及SVN系统中的文件版本不一致,而导致系统中的文件版本不一致,而导致文件无法提交的情况文件无法提交的情况冲突产生的原因(一)冲突产生的原因(一)冲突产生的原因(二)冲突产生的原因(二)n产生原因产生原因当团队协同工作的时候,多位团队成员同时操作一个文当团队协同工作的时候,多位团队成员同时操作一个文件。团队成员件。团队成员A操作完成后,将该文件提交到操作完成后,将该文件提交到SVN上。此时,上。此时,其他团队成员的本地文件及其他团队成员的本地文件及SVN上的文件版本不一致。当上的文
14、件版本不一致。当团队成员团队成员B操作完成并对文件进行提交操作时,就会产生冲操作完成并对文件进行提交操作时,就会产生冲突。突。冲突的提示页面冲突的提示页面v提交时产生的冲突提交时产生的冲突冲突的解决方案冲突的解决方案遇到冲突时,需要遇到冲突时,需要update该文件。我们将看到三个带问号的文件该文件。我们将看到三个带问号的文件vfilename.minevfilename.rOLDREVvfilename.rNEWREV面对文件冲突,我们可以选择以下两种方式解决冲突面对文件冲突,我们可以选择以下两种方式解决冲突v使用工具解决冲突使用工具解决冲突v用用revert放弃所做的修改放弃所做的修改使用
15、工具解决冲突使用工具解决冲突v使用自带工具,如图所使用自带工具,如图所示示v对比两个版本的文件,对比两个版本的文件,解决冲突解决冲突v工具中会列出两个版本工具中会列出两个版本冲突的部分,并让我们冲突的部分,并让我们选择使用哪个版本的内选择使用哪个版本的内容容用用revert放弃所做的修改放弃所做的修改v选择选择SVN还原(还原(revert)放弃自己所做的放弃自己所做的修改修改解决冲突后解决冲突后v通过上面所说的通过上面所说的方法,解决冲突方法,解决冲突后要选择已解决后要选择已解决的(的(resolved)v解决后,带问号解决后,带问号的三个文件将自的三个文件将自动删除动删除v最后选择最后选择
16、commit提交到提交到SVN关于冲突的建议关于冲突的建议v修改文件之前,先进行一次修改文件之前,先进行一次update操作操作v修改完成后,及时修改完成后,及时commit,不要在本地停留过长,不要在本地停留过长时间时间v在多位团队成员协作时,尽量修改自己撰写的部分,在多位团队成员协作时,尽量修改自己撰写的部分,尽量不要修改不属于自己撰写的部分尽量不要修改不属于自己撰写的部分v出现冲突很正常,可以通过前面的方法解决,不要出现冲突很正常,可以通过前面的方法解决,不要相互覆盖相互覆盖五、五、SVN客户端的使用客户端的使用-其他其他SVN的功能的功能vExport(导出)(导出)导出你需要的文件,导出后不在受SVN控制;而checkout检出的文件仍受SVN控制;vImport(导入)(导入)将需要的文件导入到版本库中;vCleanUp(清理)(清理)递归的清理工作副本,删除锁定和保留的未完成操作,如果你得到工作副本已经锁定的错误,运行这个命令删除无用的锁定,并将工作副本恢复到可用的状态;内内 部 培部 培 训训Thank you谢谢