SVN使用培训共39页文档
配置管理svn基础培训

SVN的权限管理
用户管理
在版本库中创建和管理用户账户 ,设置不同的权限级别,如只读 、读写等。
权限控制
根据项目需求和团队分工,为不 同用户分配不同的仓库访问权限 ,确保数据的安全性和保密性。
03 SVN的使用
创建版本库
创建一个新的版本库
SVN的优势与不足
版本控制
SVN提供强大的版本控制功能,能够记 录每一次文件变动,方便回溯和比较。
VS
协同工作
允许多个开发者在同一时间对同一项目进 行修改,并通过合并功能解决冲突。
SVN的优势与不足
• 权限管理:支持对不同目录或文件设置不同的访问权限, 确保数据安全。
SVN的优势与不足
学习曲线
注意事项
在回滚之前,确保备份当 前版本,以防回滚后出现 问题无法恢复。
权限问题
权限问题表现
当用户无法访问某些文件或目录时,可能是权限 问题。
权限设置方法
在SVN的权限设置中,为不同用户或组设置不同 的权限级别。
权限管理建议
定期检查和更新权限设置,确保只有授权人员能 够访问敏感文件或目录。
06 总结与展望
从版本库检出项目
从SVN服务器上下载项目文件到本地系统,以便进行本地开发和编辑。
保持与版本库同步
在本地进行更改后,定期将更改提交到版本库,并从版本库获取其他用户的更改 ,保持项目的一致性。
提交更改
提交更改到版本库
将本地更改提交到SVN服务器上的版 本库中,以便其他用户获取最新的更 改。
处理冲突
在提交过程中,如果其他用户已经对 同一文件进行了更改,SVN会提示冲 突,需要手动解决冲突后才能完成提 交。
svn培训

SVN的基本使用 的基本使用—— SVN客户端 客户端(Tortoisesvn) 的基本使用 客户端
SVN的基本使用 的基本使用—— SVN客户端 客户端(Tortoisesvn) 的基本使用 客户端
表示此文件或文件夹在本地被修改过,暂时还没有提交到SVN仓 库中。在你开始编辑一个文件后,状态就变成了已修改,而图标 重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪 些文件从你上次更新工作复本后被修改过,需要被提交。 如果你给一个文件设置了svn : needs-lock属性,Subversion 会让此文件只读,直到你获得文件锁。只读文件具有这个 重载图标来表示你必须在编辑之前先得到一个锁。
SVN
• SVN引入 SVN引入
• 一个问题 • 解决思路 • 其他相关问题 • SCM
• SVN 的基本原理
• SVN介绍 • SVN工作原理 • 版本控制概述
• SVN 的基本使用
• SVN的重要概念 • 软件的下载和安装 • SVN 客户端(tortoisesvn)
SVN引入 引入——一个问题 引入 一个问题
如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重 当前文件夹下的某些文件或文件夹已经被计划从版本 载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提 。 表示此文件或文件夹与仓库版本同步,本地也没有被修改过。 有一个文件或是目录已经被计划加入版本控制。 交对该文件的修改。 控制中删除,或是该文件夹下某个受控的文件丢失了。
表示在提交的过程中出现了冲突。
SVN的基本使用 的基本使用—— SVN客户端 客户端(Tortoisesvn) 的基本使用 客户端
1、项目开发分工明确; 2、分模块开发; 3、项目组各成员做到勾通方便且及时; 4、做到项目组成员按时按量的及时同步版本控制仓库。
SVN使用培训

SVN使用培训1. 背景 (3)1.1 开源 (3)2. SVN概要介绍 (3)2.1 SVN特性介绍 (3)2.2 SVN架构 (4)2.3 常用工具列表 (4)3. SVN基本使用 (5)3.1 环境搭建 (5)3.1.1 服务端 (5)3.1.2 客户端 (5)3.2 日常使用 (5)3.2.1 创建配置管理库 (5)3.2.2 设置配置管理库权限 (5)3.2.3 访问配置管理库 (5)3.2.4 操作配置管理库 (5)3.2.5 维护配置管理库 (6)4. SVN使用进阶 (6)4.1 版本管理 (6)4.2 变更管理 (6)5. SVN技术支持 (6)1. 背景1.1 开源2. SVN概要介绍SVN是Subversion的简称,它是由CollabNet公司于2000年组织开发的开源版本控制系统,该系统的前身是开源世界事实标准的版本控制系统CVS。
SVN继承了CVS的大部分特性,并且在一定程度上修正了CVS的局限性,目前已逐渐有取代CVS成为新一代事实标准的趋势。
2.1 SVN特性介绍1、版本化目录CVS 只能跟踪单个文件的历史, 不过 Subversion 实作了一个“虚拟” 的版本控管文件系统, 能够依时间跟踪整个目录的变动。
目录和文件都能进行版本控制。
2、真是的版本历史自从CVS限制了文件的版本记录,CVS并不支持那些可能发生在文件上,但会影响所在目录内容的操作,如同复制和重命名。
除此之外,在CVS里你不能用拥有同样名字但是没有继承老版本历史或者根本没有关系的文件替换一个已经纳入系统的文件。
在Subversion中,你可以增加(add)、删除(delete)、复制(copy)和重命名(rename),无论是文件还是目录。
所有的新加的文件都从一个新的、干净的版本开始。
3、原子提交一个提交动作,不是全部更新到了档案库中,就是完全不更新。
这允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。
svn培训

Keeping a Branch in Sync
• 使用svn merge功能,每隔一段时间同步主 干做的修改,类似于svn update。使得分支 及时获取到主干做的修改。
Reintegrating a Branch
• 当在分支上修改完成后,需要将分支的修 改merge到主干上。 • 注意:所有的分支和主干之间的merge操作 需尽量在本地没有任何修改的情况下进行。
svn介绍及其基本使用 svn介绍及其基本使用
Archer Zhao
一、svn简介
• What Is Subversion?
Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”
建立分支
Cheap Copies
• Subversion's repository has a special design. When you copy a directory, you don't need to worry about the repository growing huge—Subversion doesn't actually duplicate any data. Instead, it creates a new directory entry that points to an existing tree. • This is why you'll often hear Subversion users talk about “cheap copies.”
SVN培训

接下来我们看看如何把branch/tag/release合并回trunk中。
3.1 用TortoiseSVN创建branch/tag/release
要merge回trunk目录中,方法很简单。
首先我们可以在trunk目录下面的空白处, 或是直接在trunk文件夹上按下鼠标右键。 然后选择选择Merge…这一项,如图。
Changelist只是作为本地对于修改
文件分类的一个辅助工具,它的信息
不会被提交至SVN库,也不会被版本 控制。
3.3 修改SVN提交日志
如果在log message里写了错误的JIRA KEY或其它备注信息,应该如何修改呢?
第一种办法:使用SVN命令进行修改:
① 安装SVN 客户端命令行工具,CollabNet Subversion Command-Line Client v1.6.17 (可以在公司公共FTP的辅助工具中下载),然后将安装后的目录加入到环境变 量Path中。
如图:
出现如下窗口,列出了被修改过并且未提交的文件列表:
3.2 用Changelist进行SVN提交分类
选中某几个属于同一问题的文件,然后右键-移动至修改列表-建立新的修改列表, 此处建议直接使用JIRA KEY作为列表名,一目了然:
3.2 用Changelist进行SVN提交分类
完成后,在提交至SVN的时候文 件就会按照changelist分类显示。 这时,就可以轻松勾选同一个问 题的修改文件,然后输入KEY提交了。
3.1 用TortoiseSVN创建branch/tag/release
合并完成后,窗口会列出新增和被修改的文件列表,用户可以根据合并的情况检查 被修改的文件,检查无误后直接在主干进行SVN提交即可。
svn基本操作培训20111018

Subversion基础知识
SVN特性
版本化目录
SVN实现的“虚拟”版本化文件系统可以跟踪目录树的变更。也就是说, 在SVN中,文件和目录都是版本化的
真实的版本历史
由于实现了文件和目录的版本化,SVN可以记录文件复制、重命名这些常 见操作带来的版本变更。在SVN中,对文件或目录都可以进行增、删 、复制、重命名等操作,并有版本历史记录
TortoiseSVN—Show-Log,系统弹出日志信息,包括 版本号,作者,更新日期,日志信息
SVN还自带了简单的统计功能。点击日志信息框右下 角的Statistics按钮,系统显示统计信息,subversion 有三种统计选择:Statistics,Commits by week, Commits by author
Subversion基本应用
SVN客户端常用操作
1.选择第一个选项Repo-browser,这个是svn的版本库浏览器 URL:http://192.168.100.191:8080/svn/Edu_Plan 2.在URL后面输入要访问的svn地址,点击“OK”,会弹出认证窗口
3.输入用户名和密码,点击左下角的Sava authentication,将输入的用户名和 密码保存,点击“OK”,则可以看到该版本库下的内容。 4.如果无法看到,则检查是否用户名和密码输入错误,没有问题则联系管理 员,查看是否有访问该版本库的权限
十四、 Create (apply) patch
创建(应用)补丁
如果你对一个文件没有修改权限,但是迫于形势,你又必须对这个文件进行修改,这时你可以用 creat patch 创建补丁,然后把你创建的补丁发给对此目录有写权限的用户,让他执行app y patch后,你所做的修改就会被提交到服务器上。
SVN培训资料

自己修改过的
原始文件
其他人修改过的
文件中冲突的地方将使用“<<<<<<<”标示出来,文件除了你的最新修改外没有别的 东西;查找以字符串<<<<<<<开头的行;其中,=======前的内容为本地硬盘中文件的 内容,=======后的内容为配置库中文件的内容,在你做最后修改之前所检出的文件; “>>>>>>>”标示出来当你更新你的工作副本时,你的Subversion客户端从服务器接 收到的。这个文件对应与版本库中的最新版本
2、弹出URL of repository栏中输入您要访问的配置库路 径,https://192.168.1.91/svn/doc-产品支持(此路 径为产品支持部配置库路径)
3、默认点击ok确认,如下图所示:
PPT文档演模板
SVN培训资料
2、SVN的安装
PPT文档演模板
服务器上的ip+端 口号+工程名称 存放在本地的 文件夹路径
如果我们拥有了一个文件的锁,并且Subversion状态是正常,这个重载 图标将提醒我们:如果不使用该文件的话,请进行释放锁操作,允许其 他成员提交对该文件的修改;
这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制 中删除,或是该文件夹下某个受控的文件丢失了;
加号告诉我们有一个文件或是目录已经被计划加入版本控制; 主目录
PPT文档演模板
返回
SVN培训资料
4、SVN的日常使用
主目录
选中TortoiseSVN项后,会出现如下图所示的众多菜单项。下面将分别对各项进行详细介绍。
点击您要查看的项
SVN基本使用技能培训-1

在资源浏览器中选定将要存放工作目录的 拷贝,右键 右键弹出快捷菜单,选择C 右键 出…Checkout...,将出现对话框:(如果该 目录已在版本控制下,则没有取出而是更 更 送交( 新(Update)和送交(Commit)) ) 送交 )
Exporting 导出
为什么要导出
状态信息Getting 状态信息Getting Status Information
档案库浏览器The 档案库浏览器The Repository Browser
可用浏览器
提交
这个过程叫送交committing
加入新文件或目录Adding 加入新文件或目录Adding New Files And Directories
开发中新增文件或文件夹,如需要加入到 版本控制,选择加入 加入Add;如果不想要加入 加入 到版本控制,选择加入忽略列表 忽略列表Add To 忽略列表 Ignore List
URLs:档案库URL Repository URLs:档案库URL
File:///c:/svn/prj/template/Dist http://build:88/prj/template
版本Revisions 版本Revisions
svn commit 操作送交修改。档案库接受一 次送交后,在文件系统树创建新的状态, 称之为版本revision。每个版本是一个递增 的自然数。 全局版本号 全局版本号 版本号代表整个档案库而非单个文件!
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图标状态信息
七种图标:
表示版本控制状态正常 表示本地工作复本已经被修改过,等待被提交 表示出现了文件内容冲突 表示该文件被他人锁定 表示该文件被自己锁定 表示当前文件夹下的某些文件已经被计划从版本控制中删除,或
是该文件夹下某个受控的文件丢失了。 加号表示有文件或目录已经加入“变更列表”中。
配置库) 。每一个修订号代表了该项目的一 个快照。
事务处理
当读取或写配置库时,进行原子事务处理。
举例如:一次提交多个文件,只要其中有一个 没有提交成功,则该操作失败,其他文件也不 会被提交。
版本化的目录管理
与CVS不同。SVN可以跟踪目录树的变更, 把文件和目录的重命名及移动纳入版本控 制
提交本地的内容到版本库 ——修改文件
修改一个已入版本库的项目文件,修改后 该文件图标显示一个感叹号
提交到版本库的方法:
方法一:文件提交方式。选择被修改文件,右键svn菜 单执行”SVN Commit”。
方法二:目录提交方式。选择被修改文件的父目录, 右键svn菜单执行”SVN Commit”,在弹出的“变更列 表中”选择修改的文件
文件共享方式
-拷贝-修改-合并 方案(SVN)
这是一个例子,Harry和Sally为同一个项目各自 建立了一个工作拷贝,工作是并行的,修改了同 一个文件A,Sally首先保存修改到版本库,当 Harry想去提交修改的时候,版本库提示文件A已 经过期,换句话说,A在他上次更新之后已经更 改了,所以当他通过客户端请求合并版本库和他 的工作拷贝之后,碰巧Sally的修改和他的不冲突, 所以一旦他把所有的修改集成到一起,他可以将 工作拷贝保存到版本库,. 拷贝-修改-合并 方案 展示了这一过程。
文件共享方式 -拷贝-修改-合并 方案(SVN)
缺点: 当冲突发生后,需要手工解决冲突。
文件共享方式 -锁定-修改-解锁方案(VSS)
缺点: 锁定可能导致管理问题。 锁定可能导致不必要的线性化开发。 锁定可单个文件。 SVN的修订版本号是针对整个项目的(即整个
查看版本日志记录
查看的内容:
可以查看被选对象的每个版本提交日志,包括提交人, 提交时间,版本号,提交时的注释,以及提交的内容。 如新增/修改/删除了哪些文件。
提交本地的内容到版本库 ——删除文件
如果被删除的文件还未入版本库,则可以直接使 用操作系统的删除操作删除该文件
如果被删除的文件已入版本库,则删除方法如下:
方法一:选择被删除文件,右键svn菜单执行“delete” 操作,然后选择被删除文件的父目录,右键svn菜单执 行”SVN Commit”
提交到版本库的方法
方法一:先提交到变更列表中,再 commit到 配置库。选择该新增文件,右键svn菜单执行 “Add”操作提交到“变更列表”中,然后右 键svn菜单执行“SVN Commit”提交到版本库
方法二:不提交到变更列表中,而是直接 commit到配置库。选择该新增文件的父目录, 右键svn菜单执行”SVN Commit”操作,在弹 出的“变更列表中”选择新增的文件
第二章:SVN常用基本操作
TortoiseSVN(SVN客户端)的安装方法 从配置库检出工作拷贝到本地 提交本地的修改内容到版本库 获取别人的修改更新你的工作复本 图标状态信息 查看版本日志记录 分支/标签操作 合并操作 客户端设置选项 其他
TortoiseSVN(SVN客户端)的安装
从配置库检出工作拷贝到本地
目的:创建工作拷贝并建立本地目录和配置库服务器的 关联关系
步骤:新建一空目录,如:testsvn;右键svn菜单执行 “SVN Checkout”,然后在弹出对话框中输入项目的URL 路径
注意:只能导出赋予该用户读权限的目录
提交本地的内容到版本库
——增加文件
在testsvn目录下新建一个项目文件 testadd.cpp
执行如下可执行安装程序即可:
TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi
TortoiseSVN 是Subversion的 Windows 扩展。它使你避免 接触 Subversion 枯燥而且不方便的命令行。它完全嵌入 Windows Explorer,打开资源管理器,点击一下鼠标右键, 会看到类似如下的图,说明安装成功。
公司的SVN库的目录基本结构 |—Trunk 主版本
项目A—|—Branches 分支版本(独立版本) |—Tags 标记版本,比如发行版 v 1.0/ v 2.0等等
目录级权限管理
与CVS不同:CVS实现模块级权限管理, SVN可以实现目录级的方便的权限管理。
高效的分支与标签操作
在SVN中,分支与标签操作的开销与工程 的大小无关。SVN的分支和标签操作是一 种类似于建立链接。因而执行操作时所需 的时间很少 。
方法二:使用操作系统的删除操作删除该文件,然后 选择被删除文件的父目录,右键svn菜单执行”SVN Commit”,在“变更列表”中选择被删除的文件。
获取别人的修改更新你的工作复本
操作方法:
获取版本库中的最新的内容:右键svn菜单执 行“SVN Update”
获取指定版本的内容:右键svn菜单执行 “Update to revision”
主要内容
第一章:SVN属性介绍 第二章:SVN常用基本操作 第三章:常见问题解决方法
第一章:SVN属性介绍
拷贝-修改-合并的文件共享方式 全局修订号 事务处理 版本化的目录管理 目录级权限管理 高效的分支与标签操作
文件共享方式 -拷贝-修改-合并 方案(SVN)
Subversion版本控制系统使用拷贝-修改-合并模型, 在这种模型里,每一个客户联系项目版本库建立 一个个人工作拷贝—版本库中文件和目录的本地 映射。用户并行工作,修改各自的工作拷贝,最 终,各个私有的拷贝合并在一起,成为最终的版 本,这种系统通常可以辅助合并操作,但是最终 要靠人工去确定正误。