《2022年SVN服务器部署+TortoiseSVN使用说明文档 .pdf》由会员分享,可在线阅读,更多相关《2022年SVN服务器部署+TortoiseSVN使用说明文档 .pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 页 共 47 页Subversion部署和 TortoiseSVN使用说明文档备注: Subversion,简称 SVN Subversion 是服务器端软件,用于搭建SVN 服务;TortoiseSVN 是客户端软件,用于给使用者连接SVN 服务使用;第一章Subversion 部署1.1软件下载1.subversion:http:/ 英文版 32bit:http:/ 32bit:http:/ 64bit:http:/ 2008 公司部署建议部署在windows2003 或者 2008 系统上,不要部署在XP 或 win7 上(不稳定)1.2.2网络环境SVN 所部署的服务器IP 地
2、址使用固定IP 地址,不要自动获取IP, 否则不方便客户端访问;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 47 页 - - - - - - - - - 第 2 页 共 47 页1.3安装 Subversion 1.3.1安装步骤如下图,点击next,然后就等待安装完毕:1.3.2验证 SVN 是否安装成功1.在运行中输入cmd 然后回车确认,进入dos界面:2.切换到 subversion 的安装目录,命令cd c:subversionbin3.然后输入命令:svn
3、 -version 显示如下图信息,则说明svn 安装成功了;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 47 页 - - - - - - - - - 第 3 页 共 47 页1.3.1Dos下全局使用svn的命令的操作方法刚刚上面见的命令svnadmin 这个命令只能在svn 的安装目录下的.bin 目录下使用,为了能一打开 dos 就使用 svn 相关的命令,请安装如下操作:就是在系统的环境变量path 参数中添加svn 的安装路径: C:Subversionbi
4、n 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 47 页 - - - - - - - - - 第 4 页 共 47 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 47 页 - - - - - - - - - 第 5 页 共 47 页注意:在最右边添加“;C:Subversionbin ”中间有 ;号的;路径是根据你实际的安装路径来填写;而后你
5、就可以打开dos,直接输了svn 有关的命令了,不用再进入的C:Subversionbin 目录下了;1.4安装客户端TortoiseSVN 这举例说明安装中文版的TortoiseSVN 操作步骤,安装中文版的TortoiseSVN 是在安装英文版的TortoiseSVN 基础上安装一个中文补丁包,而后在设置中修改TortoiseSVN 显示语言为中文;注意:安装TortoiseSVN需要根据电脑操作系统的是32bit 、还是64bit 来选择安装对应版本的TortoiseSVN ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
6、 名师精心整理 - - - - - - - 第 5 页,共 47 页 - - - - - - - - - 第 6 页 共 47 页1.4.1先安装 TortoiseSVN 客户端程序TortoiseSVN-1.8.11.26392-x64-svn-1.8.13 ,如果是使用英文版客户端,安装完此软件即可;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 47 页 - - - - - - - - - 第 7 页 共 47 页然后就一直下一步,直到安装完成;1.4.2再安装中文
7、补丁包程序LanguagePack_1.8.11.26392-x64-zh_CN 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 47 页 - - - - - - - - - 第 8 页 共 47 页安装完成!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 47 页 - - - - - - - - - 第 9 页 共 47 页1.4.3设置 Tort
8、oiseSVN 为中文界面1.在没有设置TortoiseSVN 语言为中文前,默认是English,如下图:2.修改 TortoiseSVN 的语言为中文:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 47 页 - - - - - - - - - 第 10 页 共 47 页修改后的效果如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 47 页
9、 - - - - - - - - - 第 11 页 共 47 页1.5创建版本库版本库是用来存储和管理开发项目的一个载体,相当于数据库吧,或者叫代码库;创建版本库有如下2 种方式:1.命令创建2.用图形界面的TortoiseSVN 工具创建版本库注意事项:1.创建版本库得先建立一个文件夹,且是空的文件夹,不能有其他的文件或文件夹2.创建版本库的文件夹名称和目录结构,最好是非中文无特殊字符和空格符号的3.版本库所在的磁盘不要在C 盘,面系统重装而丢失代码;4.版本库所在磁盘要留有一定的空间根据你们的项目的大小而定,至少要留个5G;5.一般来使用的话版本创建一个就够用了,这里我们不介绍创建同时使用
10、多个版本库的操作方法;1.5.1命令创建版本库1.新增文件夹,这里我以如下目录为说明:D:2svnser 2.命令格式:svnadmin create D:1svnser 主命令子命令参数 1 svnadmin create 仓库路径举例svnadmin create D:1svnser 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 47 页 - - - - - - - - - 第 12 页 共 47 页创建版本库成功后,会在D:2svnser 目录下创建一些svn
11、系统文件,如下图:1.5.2用图形界面的TortoiseSVN 工具创建版本库1.新增文件夹,这里我以D:2svndata 目录为列;2.右击 data目录,如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 47 页 - - - - - - - - - 第 13 页 共 47 页版本库就创建好了;3.进入 data目录我们可以看到如下几个文件夹:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
12、心整理 - - - - - - - 第 13 页,共 47 页 - - - - - - - - - 第 14 页 共 47 页1.6启动 SVN 启动 SVN 有 2 种方法:1.命令启动;2.创建系统服务启动svn 1.6.1命令启动 SVN 1.命令 Svnserve -d -r D:2svndata ,而后确定键,保持打开这个dos 窗口不要关闭,关闭了svn 服务就关闭了主命令参数 1 参数 2 参数 3(版本库的路径)svnserve -d 表示后台执行-r 表示版本库根目录D:2svndata 举例Svnserve -d r D:2svndata 1.6.2创建系统服务启动SVN
13、给 svn 创建系统服务,如下创建了一个服务名为SVNser 的服务,创建成功后到 计算机管理的服务和应用程序下服务启动服务SVNser 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 47 页 - - - - - - - - - 第 15 页 共 47 页Sc create SVNser binpath= ” C:Subversionbin svnserve.exe service ser ” start= auto depend= Tcpip 主命令子命令参数 1
14、参数 2 参数 3 参数 4 sc create 服务名binpath= “ 运行服务所需要的二进制文件路径以及运行该二进制文件的命令行参数”start= auto 表示自动启动depend= Tcpip 表示依赖Tcpip 协议注意:在这个命令中,等号左边都没有空格,右边都有一个空格! 1.7添加账号和安全设置思路:1.开启用户验证设置,关闭匿名访问(设置文件svnserve.conf)2.添加用户账户密码(设置文件passwd)3.设置用户对目录的访问权限(设置文件authz,随着项目的增加,要及时更新用户对新增项目的目录访问权限)注意:这些设置都是在创建版本库下面的conf 目录下的文件
15、进行设置的;1.7.1未经设置的 svn无法通过网络访问svn服务启动 svn 后,使用 TortoiseSVN 访问 svn 服务端,如下图:发现无法访问svn 服务,因为svn 系统设置默认不允许无用户信息的账号访问;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 47 页 - - - - - - - - - 第 16 页 共 47 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
16、- - - - - - 第 16 页,共 47 页 - - - - - - - - - 第 17 页 共 47 页1.7.2开启系统账号访问设置svnserve.conf1.修改设置开启用户访问需要通过用户密码验证创建版本库时生成的conf 文件夹下:svnserve.conf 全局设置文件 , 设置开启那些功能passwd 账号和密码设置文件authz 账号对应目录权限配置文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 47 页 - - - - - - - - -
17、 第 18 页 共 47 页2.修改 svnserve.conf 修改如下内容,把前面的#符号删除,左边不要留空格:# password-db = passwd 启用用户账户配置文件# authz-db = authz 启用权限配置文件# realm = My First Repository 指定版本库的认证域, 即在登录时提示的认证域名称名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 47 页 - - - - - - - - - 第 19 页 共 47 页1.7.3
18、新增账号passwd打开 passwd 文件,如下图:xiao = 1 yui = 1 read = 1 账号名称= 密码,用户名后面和密码前面到=号都有空格的,而且用户名要顶格写到最左边;上面三个账号都是我添加的,如果不需要某个账号时,不要删除,直接在前面添加一个#号注释掉即可,重启svn,该账号就无法访问svn 了;注意添加账号的格式是:xiao = 1, 不是 xiao=1 1.7.4赋予账号访问目录的权限authz 如下图,是一个设置好的配置文件(前面有#号的都是注释掉了的,不用理他):名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
19、 - - - 名师精心整理 - - - - - - - 第 19 页,共 47 页 - - - - - - - - - 第 20 页 共 47 页groups 定义组和组成员g_a_rw = xiao,yui 组 g_a_rw 由成员 xiao 和 yui 组成,注意 =号前后有空格;g_b_r = read,test 组 g_b_r 由 read和 test 组成/ 指定要设置的目录为根目录/ g_a_rw = rw 赋予组g_a_rw 对/目录有读写的权限,如果是组的话赋予权限时要在前面加;g_b_r = r 赋予组g_b_r 对/目录只有读的权限* = r 其他所有用户对/目录都有读的权
20、限/BJOA 指定目录为根目录/BJOA test = rw test 用户对 /BJOA 目录有读写的权限yui = r yui 用户对 /BJOA 目录只有读的权限* = 其他用户无权限访问/BJOA,这个权限可以拒绝父目录有的权限注意事项:1.r 代表读权限, w 代表写权限;2.= 号的前后都有空格,设置时要靠最左边填写,最左边不能留空格;3.可以创建组,把权限相同的账号定义到同一组下面,方便管理;4.组在赋予对应目录权限时,要在前面加才可以,否则不生效;5.一般来讲 / 目录的 rw 权限只给管理员,不能随便给用户;6.* 代表所有用户, * = 拒绝其他所有用户访问,* = r其他
21、用户只有读的权限;7.* = ,一般来讲某个项目或目录只允许某些用户访问时,要注意在该目录权限设置时设置了其他用户的访问权限后记得在最后加上这个,禁止其他用户访问;8.一般来讲,赋予权限应该按照如下要求进行权限设置:a.权限尽量从某个项目的目录来设置,而不要冲/目录赋予用户权限,根目录一般只给svn 管理员设置权限;b.赋予权限时先设置好明显那些用户有读有写的权限,最后再加上一个拒绝其他(* = ),当然如果该目录是对所有人开放的,可以不用设置;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
22、 - 第 20 页,共 47 页 - - - - - - - - - 第 21 页 共 47 页第二章如何使用 TortoiseSVN 工具2.1常见操作2.1.1使用 TortoiseSVN 访问 svn服务2.1.1.1打开 TortoiseSVN 在桌面开始菜单中找到TortoiseSVN / TortoiseSVN Repository Browser2.1.1.2使用 svn:/IP格式访问 svn 服务在地址栏中按照如下格式输入:svn:/IP,即可访问;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
23、- - - - - - - 第 21 页,共 47 页 - - - - - - - - - 第 22 页 共 47 页2.1.1.3清除 TortoiseSVN 保存的用户登入信息在使用中,如果我们有勾选上图中的保存认证,下次登录svn 时就默认使用之前的账号登入 svn,有时候我们需要切换到其他的svn 账号登入svn 服务器,该怎么办呢?那就得清除TortoiseSVN 保存的认证信息,在TortoiseSVN 中的 Settings程序中清除:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
24、 - - 第 22 页,共 47 页 - - - - - - - - - 第 23 页 共 47 页点击清除全部 ,就可以把之前保存的认证信息清除了,再登入svn 时就会弹出要你输入账号和密码了;2.1.2创建文件夹、删除文件夹delete 注意:这里新增的文件夹是在svn 的版本库中创建的,在windows 系统中是看不到的;要执行创建和删除文件的操作得有w 也就是写的权限,才可以;第一次登入全新安装的svn,可以看到如下3 个文件夹:如果不需要,可以把这3 文件删除了!trunk 是主分支,是日常开发进行的地方branches 是分支。一些阶段性的release 版,这些版本是可以继续进行
25、开发和维护的,则放在 branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 47 页 - - - - - - - - - 第 24 页 共 47 页tags 目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。注意: svn 并没有明确的规范,更多的还是用户自己的习惯1.创建文件夹输入文件夹名称,然后确定即可!2.删除文件夹注意不要随便删除文件夹,这里是开发环境不是你个人电
26、脑啊!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 47 页 - - - - - - - - - 第 25 页 共 47 页2.1.3加入文件 +加入文件夹add 把文件和文件夹或者新增的项目代码上传到SVN , svn 里面的代码最开始就是通过加入文件夹和文件的方式上传到svn 上慢慢积累下来的;权限要求为w 也就是写的权限;下面以上传目录为列,上传文件同上传目录操作方法雷同;1.打开文件夹要保存到的目标目录,我上传到目录:“svn:/127.0.0.1/杭州滨江政
27、协OA 系统/”下2.选择要上传的文件夹和项目名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 47 页 - - - - - - - - - 第 26 页 共 47 页3.在弹出的选项框中说明一下这个文件夹的内容或大致信息,然后确定上传;如果目录文件夹比较大的话需要一定的时间,请耐心等待;2.1.4导入 Import 导入是把本地的文件上传到svn 服务器上, 该目录不是工作副本所在的目录(可以是工作副本下新增的子目录) ,且还未上传到svn 服务上的;在本地电脑选择要提
28、交到svn 服务器的目录,右键选择TortoiseSVN-Import ,系统弹出导入提示框;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 47 页 - - - - - - - - - 第 27 页 共 47 页2.1.5取出 Checkout Checkout 检出成功,后本地的下载下来的文件,通常称为工作副本;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
29、第 27 页,共 47 页 - - - - - - - - - 第 28 页 共 47 页这个是开发人员常常用到的,就是把svn 上面的文件或者代码下载到本地(也叫工作副本)来,在 checkout 的过程会在本地的目标文件夹下创建一个隐藏的.svn 文件夹, 千万不能删除这个文件夹,这里是记入本地文件版本信息等等之类的;修改过这里的文件或者代码后,可以直接通过commit 更新到 svn 上面去;如下图:Checkout 的方法有2 种:a 在本地电脑新增一个文件夹,让后右击该文件可以看到有checkout ;b 另一种是通过TortoiseSVN 登入到svn 后选择要checkout 的
30、目录右击,可以看到一个checkout 1.在本地电脑新增一个文件夹,让后右击该文件可以看到有checkout名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 47 页 - - - - - - - - - 第 29 页 共 47 页等待下载完成;下载完后,可以看到下载下来的文件有一个绿色的勾,标示,每个文件都有,这个是标示文件的状态,目前文件正常没有变动;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
31、精心整理 - - - - - - - 第 29 页,共 47 页 - - - - - - - - - 第 30 页 共 47 页2.通过 TortoiseSVN 登入到 svn 后选择要checkout 的目录右击,可以看到一个checkout 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 47 页 - - - - - - - - - 第 31 页 共 47 页选择一个本地空的而且之前没有checkout 过的文件夹;3.Checkout 后再本地目标文件夹下会生成.
32、svn 的隐藏文件夹;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 47 页 - - - - - - - - - 第 32 页 共 47 页2.1.6导出 export 导出只是把文件下载到本地,导出后不会再本地目标文件下生成.svn 文件夹, 导出只是把文件下载下来没有其他任何标记,如果对导出来的文档进行修改、编辑等操作,不能进行commit 操作;2.1.7文件图标标示状态说明只有通过检出checkout 下载下来的文件和文件夹(也可以是检出后update 更新过
33、的),才有在文件和文件夹上有特别的标示标志着,下面看看各种标示代表的什么意思吧!可以通过开始菜单下的TortoiseSVN Settings 图标集来查看:一共有 9 种状态:常规、修改、冲突、只读、已删除、锁定、增加、忽略、无版本控制名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 47 页 - - - - - - - - - 第 33 页 共 47 页2.1.8提交 Commit 修改完代码后或者添加新代码、文件, 又或者删除了一些不用的代码,在本地测试通过后需要更新
34、到svn 里面去;检出 checkout 到本地的文件或目录修改后,可以看到文件的图标都改变了;1.进行提交commit 操作:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 33 页,共 47 页 - - - - - - - - - 第 34 页 共 47 页2.Commit 成功后的 svn 服务端和本地的变化Svn 服务器端的变动过的文件版本号会更新,当然文件也会跟着一起变动,作者会显示最后一次修改该文档的svn 账号;名师资料总结 - - -精品资料欢迎下载 - - - -
35、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 34 页,共 47 页 - - - - - - - - - 第 35 页 共 47 页本地的图标由恢复成绿色的勾了;2.1.9更新 Update 更新 update 操作是针对工作副本来进行的;该操作是从svn 服务器上更新最新版本的代码或文件到本地,软件开发中有很多人在使用,不确定什么时候有人更新过代码或文件,开发要保持在最新的代码上进行开发;所以每天早上到公司时,先把代码更新一下;1.选择工作副本目录右击,更新 update名师资料总结 - - -精品资料欢迎下载 - - - - - -
36、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 35 页,共 47 页 - - - - - - - - - 第 36 页 共 47 页2.1.10 复制至工作副本+ 复制到copy 1.复制至工作副本:下载到本地电脑的某个工作副本下面2.复制到:在svn 服务器上创建一个副本2.1.11 锁定功能get lock 锁定某个目录或者某个文件,项目开发时对于某些关键的某几个代码或者是开发任务比较重要紧急时, 为了避免产生冲突,可以锁定某个目录或某个文件,这时别人就不能修改这个目录或文件了;在工作副本中找到要锁定的目录或文件:名师资料总结 - - -精品
37、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 36 页,共 47 页 - - - - - - - - - 第 37 页 共 47 页这样就锁定成功了;2.1.12 解锁 Release lock 在修改好代码上传到svn 后,机顶盒解锁;解锁有 2 种方式:A.锁定人解锁;B.其他人员强制解锁;1.锁定人解锁;2.其他人员强制解锁名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 37 页,共 47 页
38、 - - - - - - - - - 第 38 页 共 47 页登入 svn,选择被锁定的代码右击,破除锁定;2.1.13 查看日志show log 可以查看某个代码、文件或者文件夹的变更历史记入信息;操作方法如下, 使用 TortoiseSVN 连接 svn 服务器后, 右击文件、 代码或者文件夹,如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 38 页,共 47 页 - - - - - - - - - 第 39 页 共 47 页可以看到如下图,修改的对应的版本号,修改作者
39、和备注信息,及修改的内容有那些,都一目了然;2.1.14 追溯 Blame 查看文件的各个版本的变动信息,只能对文件不能对文件夹查看;使用 TortoiseSVN 登录上 svn 服务器后,右击文件:可以指定从那个版本开始查看到那个结束版本结束来查看文件的各个版本的变动信息;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 39 页,共 47 页 - - - - - - - - - 第 40 页 共 47 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
40、- - - - - - - - - 名师精心整理 - - - - - - - 第 40 页,共 47 页 - - - - - - - - - 第 41 页 共 47 页2.1.15 还原 Revert 如果不小心把下载到本地工作副本的代码或文件夹删除了,可以使用还原功能还原文件;在被删除文件的当前目录下或者上级目录中进行操作,如下图:还原也可以用于在编辑代码时自己忘记编辑了那些内容,可以把名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 41 页,共 47 页 - - - - - -
41、- - - 第 42 页 共 47 页2.1.16 比较差异Diff 在修改好代码后可以使用比较差异来查看修改内容和原文进行比较;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 42 页,共 47 页 - - - - - - - - - 第 43 页 共 47 页2.1.17 解决冲突Resolving Conflicts 有时在进行更新update 时文件会有冲突。冲突产生于两人都修改同一文件。解决冲突只能靠人而不是机器。有冲突时不要随便去删除存在冲突的文件,这样会然操作变麻烦;当
42、产生冲突时,你应该打开冲突的文件,查找以 开始的行。冲突部分被标记: revision Subversion 为 每 个 冲 突 文 件 产 生 三 个 附 加 文 件 : filename.ext.mine 更 新 前 的 本 地 文件。 filename.ext.rOLDREV 你作改动的基础版本。 filename.ext.rNEWREV 更新时从档案库得到的最新版本。使用快捷菜单的编辑冲突Edit Conflict命令来解决冲突。然后从快捷菜单中执行已解决Resolved 命令,将改动送交到档案库。请注意,解决命令并不解决冲突,而仅仅是删除filename.ext.mineandfil
43、ename.ext.r* 文件并允许你送交。冲突时的提示信息:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 43 页,共 47 页 - - - - - - - - - 第 44 页 共 47 页当发生冲突时, 可以根据svn 中的日志信息,查看是谁修改的代码同自己的修改有冲突,和他协商该如何修改,协商ok 后,在你的工作副本也就是有冲突的代码上根据你们协商的结果修改代码,并进行解决操作;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
44、 - - - - 名师精心整理 - - - - - - - 第 44 页,共 47 页 - - - - - - - - - 第 45 页 共 47 页进行解决操作后,因为冲突产生的3 个文件也消失了,就可以进行commit 操作了;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 45 页,共 47 页 - - - - - - - - - 第 46 页 共 47 页2.1.18 使用 TortoiseSVN 进行开发的推荐操作流程1.合作开发团队成员安装的SVN 的版本应该一致,同一个
45、版本的服务器和客户端可以大大的减少不必要的冲突和麻烦。2.工作副本尽量是一个只存放开发代码的文件夹,不要有其他不相干的文件;3.开发在使用TortoiseSVN 进行开发时的正确使用流程3.正确的认识图标说明。实时清楚文件的当前状态是什么。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 46 页,共 47 页 - - - - - - - - - 第 47 页 共 47 页4.及时更新修改记录。虽然SVN 用于项目管理,但是功能也并不是无所不及,每次在 commit 上传更新时,在备注中说明本次更新的内容是什么大致描述一下;5.如果条件允许, 提交之前可以更新一下, 然后在最新的副本中运行一下程序,确保自己提交的部分能够正常运行,使的SVN 服务器上的为最接近正确的代码。6.对于项目中不必要的文件,可以在提交时默认不选操作方法:设置( setting)中选择常规,如图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 47 页,共 47 页 - - - - - - - - -