SVN客户端安装及使用说明_v1.2

liangds

贡献于2014-10-29

字数:0 关键词: Subversion 版本控制系统

信息中心 SVN 客户端 安装及使用说明 文档编号:ABIT-PROJECT_SCM-008 版本:1.2 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 文档描述 文档名称 SVN 客户端安装及使用说明 文档编号 ABIT-PROJECT_SCM-008 当前版本 V 1.2 内容简介 SVN 客户端安装及使用说明 文档变更 日期 版本 说明 作者 审核 2010-12-15 V 0.8 初稿 杨舢 审核者名字 2010-12-30 V 0.9 完善细节部分 刘聪 杨舢 2010-12-31 V1.0 修改部分功能描述不清楚, 补充功能差异不完善内容 刘聪 杨舢 2011-1-5 V1.1 修改格式细节说明部分 杨舢 2014-2-10 V1.2 根据当前情况更新,此文档 对 SVN 客户端操作进行指导 于云 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 目 录 1 说明 ______________________________________________________________ 1 2 安装 ______________________________________________________________ 2 3 版本库的基本操作 __________________________________________________ 4 3.1 版本库浏览 __________________________________________________________ 4 3.1.1 Repo-browser ______________________________________________________________ 4 3.2 检出 ________________________________________________________________ 5 3.2.1 Checkout __________________________________________________________________ 5 3.2.2 Export ____________________________________________________________________ 6 3.3 添加文件 ____________________________________________________________ 7 3.3.1 Add &Commit ______________________________________________________________ 7 3.3.2 Import ____________________________________________________________________ 8 3.4 修改文件 ____________________________________________________________ 9 3.5 删除文件 ____________________________________________________________ 9 3.6 放弃修改 ___________________________________________________________ 10 3.7 获取 Repository 的最新版本 ___________________________________________ 10 3.8 文件的锁定 _________________________________________________________ 11 3.9 查看修改 ___________________________________________________________ 13 3.9.1 Show log _________________________________________________________________ 13 3.9.2 Check For Modifications _____________________________________________________ 13 3.10 Cleanup 清理 ________________________________________________________ 14 3.11 subversion 的版本控制 ________________________________________________ 14 3.11.1 Revision graph ____________________________________________________________ 15 3.11.2 Update to Revision _________________________________________________________ 15 3.11.3 Merge ___________________________________________________________________ 16 3.11.4 Resolved _________________________________________________________________ 16 3.11.5 Branch/tag _______________________________________________________________ 17 3.11.6 Switch ___________________________________________________________________ 17 3.12 迁移 _______________________________________________ 错误!未定义书签。 3.13 创建补丁 ___________________________________________________________ 19 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 1 页 1 说明 为了统一管理项目各阶段产出物,版本管理工具的统一是前提。 此文档重点介绍 SVN 客户端的安装及相关基本操作。 使用范围:各项目系统归档涉及到的文档和代码交付物。 文档的内容包括  SVN 安装及使用说明及注意事项 目标读者是信息中心涉及软件开发项目的所有相关人员。 本文档自 xx 年 xx 月 xx 日发布,自发布之日起,信息中心所有人员需遵照执行。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 2 页 2 TortoiseSVN 的安装 TortoiseSVN 是 SVN 的一个免费开源客户端。客户端下载地址: http://tortoisesvn.net/downloads.html 注意:需要根据使用机器选取合适的版本,32-bit OS 或 64-bit-OS。 安装截图如下: 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 3 页 点击 Yes,重启电脑,安装完成。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 4 页 3 TortoiseSVN 基本操作 3.1 版本库浏览 3.1.1 Repo-browser 安装完成之后,点击鼠标右键 TortoiseSVN 中 Repo-browser 功能,可以浏览资源 库中文件,如下图。Repo-browser 是查看当前版本库的功能,这是 TortoiseSVN 查看 版本库的入口,通过这个菜单项,我们就可以进入配置库的资源管理器,查看配置库中 涉及的文件内容并进行操作。 点击 Repo-browser 之后,会出现如下图的小对话框: 在 URL 处输入你要链接的版本库地址: URL:https://服务器 IP(或域名):端口号 / 所在版本库名称。 注意:URL 必须输入完整才能正常访问。由于用户权限的控制,用户不能访问有权 限目录的上层目录。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 5 页 例如配置管理组使用的是公司级 SVN , URL 为: http://absvn.ab.com:8080/svn/CompanySVNRepository/3.管理类 ,点“OK”进入登 录界面。如果以前登录过,SVN 会自动记录登录历史。输入用户名和密码之后,就会 进入登录界面了。登录界面如下: 3.2 检出 当需要检出资源库中文件时,可以有 Checkout 和 Export 两种方法。 使用 Checkout 方式可以检出资源库中文件,检出文件同时会同步检出相应文件的 配置文件,这种方式通常用于将 SVN 资源库中文件检索到本地 workspace 中纳入版本 管理的情况。 使用 Export 方式直接从 SVN 资源库中导出文件,不会附带着检出相应的 SVN 配置 文件。通常用于下载到本地工作空间外的地方使用或转发于他人使用的情况。 3.2.1 Checkout Checkout:先在本地任意位置创建文件夹。使用 checkout 功能方式将服务器上资 源文件下载到指定文件夹中。 例如我们在桌面新建一个空目录起名 svn, 在该目录上单击右键,在弹出式菜单中 选中 SVN Checkout...,之后在“URL of Repository”文本框中填入你想要连接的 Repository 的地址, 这个 URL 地址可以用浏览方式加入。如图所示 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 6 页 点 OK 后就完成了检出资源库中文件的操作。在 svn 目录下就会出现“3.管理类” 里面的所有内容,现在 svn 目录中的内容就是检索内容的本地投影文件,既本地 workspace。可以通过对本地投影文件的操作完成对 SVN 服务器中文件的管理。 Checkout 执行完后,svn 目录中检出的目录会显示绿色图标,见下图。这说明目 录下的文件夹已经纳入版本管理。 3.2.2 Export 可以使用这个功能将指定文件导出到某个文件夹,新的文件夹将不会包含任何配置 文件。 我们将文件导出到新建 svn 目录中,单击右键选择 TortoiseSVN-> Export 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 7 页 点 OK 后就完成了导出资源库中文件的操作。这里的操作可以参照 3.2.1 节。 Export 执行后,我们可以看到 svn 目录中的文件并没有像 Checkout 一样变为绿色图标, 这说明我们只是导出了需要的文件并没有在本地将这些文件纳入版本管理,既没有创建 本地 workspace。所以我们可以对文件进行任何操作对服务器端都没有影响。 3.3 添加文件 3.3.1 Add &Commit 向本地纳入版本管理的对应服务器目录中添加文件情况,可以直接在纳入版本管理 的本地 workspace 中找到需要添加的位置新建目录/文件,或者可以把本地其他位置需 要上传 svn 的目录/文件拷贝到 workspace 中指定位置中进行添加。采用 TortoiseSVN -> add&commit 方式提交到 svn 服务器中。 例如想要添加一个文件或是目录,可以在 svn 目录下右新建一个文件/目录,也可以 将要添加的文件/目录拷贝到 svn 下,然后在该文件或目录上单击右键,TortoiseSVN- >Add,点 OK。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 8 页 这时文件的状态图标会发生变化。如下图 Add 命令只是告诉本地的 workspace 将该文件纳入版本管理并将修改操作存储在 缓冲区域内, 并没有将这个修改操作提交到服务器端。 如果需要 Repository 中显示修 改操作,需要在 svn 下单击右键,SVN Commit..., 将修改操作提交到 Repository。文 件的状态图标也会更新,如下图: 到服务器端查看也会发现,成功的添加了一个新的 test 文件夹,如图 注意:无论在 workspace 内添加、修改、删除文件后, 需要在资源库中显示变更, 都必须用 Commit 命令将所做修改递交到服务器端的 Repository。 3.3.2 Import 向本地没有纳入版本管理的对应服务器目录中添加文件情况 (1)可以采用直接导入的方式(import)将文件导入到指定路径中。 (2)采用先创建本地 workspace 然后再按照 3.3.1 中提到的方式增加目录/文件。 例如我们在 svn 目录中创建一个 test1 文件夹,这时就可以单击右键 TortoiseSVN -> Import,然后点“OK”就可以直接将选中的文件上传到服务器中了。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 9 页 注意:通过 import 导入文件时,需要注意 URL 一定要填写准确,这里的 URL 指需 要导入到 SVN 资源库中的路径。 3.4 修改文件 修改之前建议先锁定文件再进行修改,这样做的好处是避免多个人同时修改同一文 件造成的版本冲突需要合并版本的情况。使用 tortoiseSVN 工具右键 Get Lock 按钮将 文件锁定(关于文件锁定的内容将在 3.8 节中具体介绍,此处先不做具体说明)。 注意:修改文件之前一定要先更新此文件,确认本地 workspace 中需要修改文件为 最新版本,再进行锁定修改。 在 workspace 中将文件锁定之后,就可以对文件进行修改, 保存后文件的状态图 标也会有所变化 图标表示 workspace 中的文件与服务器端的文件不一致,需要提交到服务器端。我 们可以在 svn 目录下单击右键,SVN Commit... 提交修改,只有当执行 Commit 提交修 改后,你所作的修改才会反映到服务器端的 Repository 中。 3.5 删除文件 删除文件时,选中要删除的文件/目录,单击右键,TortoiseSVN->Delete,提交修 改。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 10 页 注意:当选择右键中的“删除”时,只是将 workspace 中的文件删除掉了,服务 器端的文件依然存在,所以我们需要在删除之后,用 SVN Commit...选项进行提交。 3.6 放弃修改 当添加、修改、删除文件后,决定放弃修改,可以单击右键, TortoiseSVN- >Revert,本地的 workspace 中的文件/目录会恢复到你修改前的状态。 3.7 获取 Repository 的最新版本 当团队合作开发项目时, 每一个项目成员都会不断的对 Repository 进行更新,所 以你也需要不断的更新自己的 workspace,以获取项目最新资源库的文件。 当第一次获得最新 Repository 的文件时, 我们使用 Checkout 命令,前面 3.2 节中 已经介绍了,之后更新最新版本文件时直接使用 Update 命令。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 11 页 3.8 文件的锁定 当我们在修改某一文件时,如果你不想其他用户修改这个文件,你就可以把这个文 件进行加锁,这样其他用户就没有这个文件的修改权。 当修改完后再释放锁,释放后其他用户才可以对该文件进行锁定修改。 锁定文件的方法是:TortoiseSVN->Get Lock...再点 OK 按钮, 这时就完成了对文 件的锁定。如图: 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 12 页 这时,如果其他人想对文件进行锁定时, Subversion 会对他提示该文件已经被别 人锁定。 当你修改完文件后,然后单击右键,SVN Commit...,将修改提交,默认情况 下,提交的时候就会对该文件解锁,如果你想仍然锁定该文件,请在 commit 时弹出的 对话框中选中 keep lock 复选框。 或者在锁定之后,没有对文件进行修改,就可以用 TortoiseSVN->Release Lock... 对文件进行解锁。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 13 页 3.9 查看修改 3.9.1 Show log 我们对 workspace 的许多文件进行了修改,就可以在 workspace 的根目录单击右 键,TortoiseSVN->Show log 查看历史修改记录,弹出的对话框会显示所有修改明细。 从图中我们可以看到之前操作轨迹,修改的时间和修改人员等相关信息,在下方也 显示出了具体修改有哪些文件。 3.9.2 Check For Modifications 本地 workspace 一段时间没有执行 Update 命令更新时,可以通过使用这个功能查 看有哪些文件已经发生修改。这时就可以在 workspace 的 根 目录单击右键, TortoiseSVN->Check For Modifications, 在弹出的对话框点击 Check Repository 按钮 后, 就会显示服务器端已经修改了的文件。 这个功能还有一个用途是查看文件的锁定状态,当用户想锁定一个文件时,可以先 查看这个文件有没有被其他用户锁定。点击 Check Repository 按钮会显示服务器端 Repository 所有被锁定的文件。 例如我们为新建的 test 文件进行锁定,查出的结果如下图: 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 14 页 3.10 Cleanup 清理 当在本地 workspace 下操作失败时,可以使用这个功能进行修正。例如,有些文件 原来是纳入版本控制的,但是用户操作时没有通过 tortoiseSVN 就直接删除了,这时 tortoiseSVN 会保留原来操作轨迹的信息(每个文件夹下都有一个.svn 的隐藏文件夹, 存放着当前文件夹下所有文件夹的版本信息)做其他操作时 SVN 会自动检索此文件夹 下所有文件的状态,这时就会产生一些冲突。可以通过使用 cleanup 来清理历史遗留的 一些操作轨迹,清除后可以进行正常操作。 3.11 subversion 的版本控制 当在使用 subversion 进行版本控制时,Subversion 会记录当前用户对 Repository 进行的每一次修改(包括添加,修改,删除等等)操作,每修改一次 Repository 都会产生 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 15 页 一个新的 Revision(修订版本号),不同的 Revision 代表了不同时刻 Repository 的状态, 因此我们可以用这个 Revision 回朔任意时刻 Repository 的状态。 3.11.1 Revision graph 单击右键,选择 TortoiseSVN->Revision graph 可以查看当前项目/文件的修订历史 图示。如果项目涉及多个分支,多个里程碑(稳定版本发布)的情况,通过此功能可以 看到项目的整个状态图。如图: 显示出来的修订历史图示如下图所示: 3.11.2 Update to Revision 可以通过选项 TortoiseSVN -> Update to Revision 从版本库中获取某一个历史版本。 这个功能主要是方便查看历史版本,而不是回滚版本使用。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 16 页 这里,我们可以点击 Show log 来查看历史版本,具体功能描述参照 3.9.1 节中介绍 的内容。 注意:获取版本后,对这个文件不建议进行任何操作。如果做了修改,那么当提交 的时候 SVN 会提示,当前版本已失效(即不是最新版本)无法提交,需要先 update 一 下。这样你在获取的版本所做的修改也会被服务器上最新版本替换掉。 3.11.3 Merge 在管理 Subversion 时,我们会在主干下建立许多的分支,当需要将一些分支合并 时,可以用 TortoiseSVN -> Merge 合并当前 workspace 和资源库中相应的文件。 为防止合并文件造成文件损坏的情况,目前只为 SVN 管理员开放合并权限。 3.11.4 Resolved 不同用户对同一文件同时进行修改提交时,文件的图标会变成一个黄色三角, tortoisesvn 会提示提交存在冲突。这时可以通过 TortoiseSVN -> Resolved 的菜单项来 解决冲突。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 17 页 冲突的解决有两种,一种是保留某一份拷贝,例如使用配置库覆盖当前 workspace, 或反之。还有一种是手动解决冲突,先对文本文件进行 Update 更新,然后再将修改之 后的文件 Commit 提交到服务器端。 3.11.5 Branch/tag Branch 可以为资源库创建分支。创建完成后可以与主干并行存在且互不影响,当需 要合并时可以将创建分支进行合并。 Tag 可以为资源库创建标签。当项目稳定运行的时候,可以对其打上标签,作为稳 定版。之后可以通过查找标签形式找到某个特定的版本(也可以使用版本号来查找)。 SVN 对于分支和标签都是采用类似 Linux 下硬链接的方式(同一个文件可以存在两 个地方,删除一个不会影响另一个,所做修改会影响另一个),来管理文件的,而不是 简单的复制一份文件的拷贝,所以不会有浪费存储空间的问题存在。 3.11.6 Switch 需要从一个分支跳转到另一个分支时,可以运用 Switch。如图: 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 18 页 我们可以直接输入想要跳转的 URL,亦可以点击 Show log 进行选择。 3.12 重新定位 版本库迁移使 IP、URL 发生变化后,通过 SVN 的 Relocate 进行重新定位。以保持 用户原来的本地工作区(Working Copy)能正常使用。 注意:只能在本地工作区的根目录操作,子目录无此功能!  具体操作: 1、在本地工作区的根目录下,鼠标右键 TortoiseSVN → Relocate;  2、将迁移后新的 URL 输入,点击 OK 即可完成重新定位。 本文档内容涉及安邦财产保险股份有限公司商业秘密,不得以任何形式披露、传播或扩散。 第 19 页 3.13 创建补丁 如果管理员控制其他用户提交修改操作,每次操作都需要经过审核才能修改,那么 其他用户就可以通过 TortoiseSVN -> create patch 创建补丁的方式,把修改信息(补丁 文件)发送给管理员,管理员审核通过后可以使用 apply patch 提交这次修改。

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档