SVN公司内部培训PPT
SVN培训

SVN基本原理
• SVN版本库中有一个总的版本号,当工作区中的 任何一个文件变更后提交,这个版本号都会加1, 所以SVN中每次提交都相当于打了一次标签。不 同版本号的文件可能没有变更。
SVN服务端日常应用
1. SVN服务端安装 2. 创建版本库 3. 添加用户、设置权限
SVN服务端安装
• SVN服务端安装有多种版本,部门现在使用的是 VisualSVN,安装步骤比较简单,请按照部门SVN的安装 文档即可。请注意安装路径和版本库路径。
恢复历史上的某个版本
•恢复历史上的某个版本:在显示日志中选择要恢复 的版本号,右键点击然后选中复原到此版本。
SVN日常属性设置
1. 强制提交注释 2. 强制编辑前加锁 3. 直接浏览版本库中的锁定者 4. 直接在服务器上编辑 5. 客户端代理设置 6. 客户端取消权限存储 7. 客户端设置日志信息提示数目
SVN 配置管理介绍
中科软科技股份有限公司 金融保险1部
内容介绍
• SVN基本原理 • SVN服务端日常应用介绍 • SVN客户端日常应用介绍 • SVN常用属性
SVN基本原理
• SVN被很多开发人员看做“时间机器”。文件保存在中央 版本库,版本库可以记住文件和目录每次的修改,并可已 将文件恢复到过去某个版本,并且通过检查历史知道哪些 文件做过修改,谁做的修改。
添加用户、设置权限
• 设置权限: 右键点击某个版本库,选择Properties,然后按要求添加 权限。
SVN客户端日常应用
1. 客户端安装 2. 浏览版本库 3. 创建工作区 4. 更新工作区 5. 编辑工作区 (编辑、添加、重命名、还原、移动) 6. 提交变更 7.创建/合并分支 8.比较版本之间的区别 9.恢复历史的某个版本
SVN使用培训共39页文档

图标状态信息
七种图标:
表示版本控制状态正常 表示本地工作复本已经被修改过,等待被提交 表示出现了文件内容冲突 表示该文件被他人锁定 表示该文件被自己锁定 表示当前文件夹下的某些文件已经被计划从版本控制中删除,或
是该文件夹下某个受控的文件丢失了。 加号表示有文件或目录已经加入“变更列表”中。
配置库) 。每一个修订号代表了该项目的一 个快照。
事务处理
当读取或写配置库时,进行原子事务处理。
举例如:一次提交多个文件,只要其中有一个 没有提交成功,则该操作失败,其他文件也不 会被提交。
版本化的目录管理
与CVS不同。SVN可以跟踪目录树的变更, 把文件和目录的重命名及移动纳入版本控 制
提交本地的内容到版本库 ——修改文件
修改一个已入版本库的项目文件,修改后 该文件图标显示一个感叹号
提交到版本库的方法:
方法一:文件提交方式。选择被修改文件,右键svn菜 单执行”SVN Commit”。
方法二:目录提交方式。选择被修改文件的父目录, 右键svn菜单执行”SVN Commit”,在弹出的“变更列 表中”选择修改的文件
文件共享方式
-拷贝-修改-合并 方案(SVN)
这是一个例子,Harry和Sally为同一个项目各自 建立了一个工作拷贝,工作是并行的,修改了同 一个文件A,Sally首先保存修改到版本库,当 Harry想去提交修改的时候,版本库提示文件A已 经过期,换句话说,A在他上次更新之后已经更 改了,所以当他通过客户端请求合并版本库和他 的工作拷贝之后,碰巧Sally的修改和他的不冲突, 所以一旦他把所有的修改集成到一起,他可以将 工作拷贝保存到版本库,. 拷贝-修改-合并 方案 展示了这一过程。
文件共享方式 -拷贝-修改-合并 方案(SVN)
SVN介绍与使用PPT课件

——如何得到历史版本
工作副本右键显示日志选择所需的版本号保 存版本至
Revert(还原)
作用:撤销本地所有未提交的修改 注意:还没有执行Commit操作之前执行此命令才可以,否
则无效
ADD(添加)
选中文件/文件夹(在新文件/文件夹所在父文件 夹点击右键),
在菜单中选择“添加Add”命令。不需要受SVN控 制的文件请取消打钩。
不希望同时检出,请选中忽略外部项目复选框。如果选中了这个 复选框,更新的时候要使用命令”更新至版本Update to Revision...”
Update(更新)
作用:更新工作副本使其成为版本库中的最新版本
SVN将显示出更新的文件和更新的次数
Commit(提交)
对工作副本进行编辑后提交到SVN 在右键菜单中点击SVN Commit 提交前写好信息,点击确定
Market
Challenges
SVN介绍与使用
GHT
Green
High
Tech
目录
为什么需要使用配置管理软件 SVN相关的基本概念
TSVN的使用流程及图标说明 TSVN基本功能的介绍
为什么需要使用配置管理软件
及时了解团队中其他成员的进度。 轻松比较不同版本间的细微差别; 记录每个文件成长的每步细节,利于成果的复用(reuse); 资料共享,避免以往靠邮件发送文件造成的版本混乱; 人人为我,我为人人。所有成员维护的实际是同一个版本库,无
TortoiseSVN:SVN的客户端工具,和资源管理器 完美集成,基于TortoiseCVS的代码开发,使用上 与TortioseCVS极其相似;
SVN基本概念
配置库( Repository )
《SVN使用方法》课件

3
配置SVN客户端
在SVN客户端上设置服务器地址、用户名和密码 等必要的配置信息,以便与SVN服务器进行通信 。
03
使用方法
创建版本库
总结词
创建一个新的版本库,用于存储和管理代码。
详细描述
在SVN中,版本库是存储和管理代码的中央位置。您可以使用命令行或图形界 面工具来创建一个新的版本库。在创建时,您可以选择存储位置、配置访问权 限等。
更新代码
总结词
从版本库中获取最新的代码到本地工作副本。
详细描述
当其他人已经提交了修改,您需要更新您的本地工作副本以获取最新的代码。这样,您可以确保您的 修改与最新的代码保持一致。更新时,SVN会合并不同版本的代码,并解决任何冲突。
合并代码
总结词
将两个分支上的代码合并到一起。
详细描述
在开发过程中,您可能需要将不同分支上的代码合并到一起 。SVN提供了一种简单的方法来合并不同分支上的代码。在 合并时,SVN会尝试自动解决冲突,但有时仍需要手动干预 。
集中式存储
பைடு நூலகம்
SVN采用集中式存储,将所有文件存 储在中央服务器上,客户端通过访问 服务器来获取文件和提交修改。
SVN的用途与优势
团队协作
SVN可以帮助团队成员 协同工作,共同管理代 码、文档和其他类型文
件的版本。
冲突解决
SVN具有强大的冲突解 决机制,能够自动合并 不同分支的修改,减少
人工干预。
历史记录查询
机、分支的维护等。
标签管理
标签创建
标签是用于标识版本的重要标记 ,用户可以根据项目需求创建标 签,以便对特定版本的代码进行
标记和管理。
标签应用
一旦创建了标签,用户可以将该标 签应用到指定的代码库或文件上, 以便快速定位和回溯特定版本的代 码。
svn培训

首先要新建好tag目录,不然SVN会报错
如果您这时到Tag的目录下面去,会看不到这个目录,您需要在Tag目录下面 update一下,才能中,我们经常会遇到一个问题,多个人同时修改提交一个文件。 往往,我们在修改某个文件时,应该先update一下,以防冲突,但是万一冲突 发生了,应如何处理?
同步成功后会有绿色 的勾在文件图标旁边
更新目录档案
由于svn多半都是由许多人共同使用。所以,同样的档案可能还有人会去进行编辑。 为了确保您工作目录中的档案与Repository中的档案是同步的。建议您在编辑前都 先进行更新的动作。
更新至特定版本:有时我们需要恢复至特定的日期或是版本,这时就可以利用
了解SVN SVN客户端安装 客户端使用及其他相关操作 SVN使用中遇到的问题及解决措施
了解SVN
简单来说:SVN = 版本控制 + 备份服务器 它可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一 个版本。 通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档 案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要 有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何 修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也 就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新 的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从 Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个 之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
SVN 培训用ppt 公司内部发行

Third-Party Clients
• • • • • • • TortoiseSVN (Windows) Subclipse (Eclipse) Subversive (Eclipse) SCPlugin (Mac OS X) SVN (cross-platform) AnkhSVN (Visual Studio) VisualSVN (Visual Studio)
Q&A Thank You
Server Configuration
• The svnserve Server • httpd, the Apache HTTP server • … • • • • file:// SVN:// HTTP:// HTTPS://
Common Subversion Commands
• • • • • checkout: Obtain a new working copy. import: Import code into repository initially. commit: Update repository with changes. update: Update working-copy with changes. Other commands: revert, move, copy, merge ,lock, list.
Advanced Features
• Branching and Merging • Tag • Hooks post-commit.tmpl post-unlock.tmpl pre-revprop-change.tmpl postlock.tmpl pre-commit.tmpl pre-unlock.tmpl post-revprop-change.tmpl pre-lock.tmpl start-commit.tmpl • Other
SVN培训课件

开发人员应该定期提交他们的更改,并接受审查。这有助于确保代 码的质量和一致性。
06
svn与其他版本控制系统 的比较
svn与git的比较
集中式版本控制系统
SVN是集中式版本控制系统,而Git是分布式版本控制系统。这意味着SVN需要一个中心 服务器来存储版本历史记录,而Git则可以在本地进行版本控制。
SVN的安装和配置相对简单,适合小型项目和初学者使用,而Git需要更多的命令和 操作。
svn的安装与配置
SVN的安装方法根据不同的操作 系统和环境而有所不同,可以通 过官方网站下载相应版本的安装
程序进行安装。
配置SVN需要设置一些基本选项 ,如用户名、密码、编码格式等 ,可以通过svn propset命令进
标签(tag)和分支(branch)的使用
创建标签
使用`svn copy`命令创建标签,通常 用于标记版本或特定的开发阶段。
创建分支
使用`svn copy`命令创建分支,用于 开发新功能或修复bug。
切换分支
使用`svn switch`命令切换到指定的 分支。
合并分支
使用`svn merge`命令将分支的修改 合并到主干。
SVN提交失败问题的解决
如果提交失败,可能是因为某些文件的权限问题或者锁定问题。需要检查文件的权限设置和锁定状态,并解除锁 定或者更改权限。
SVN更新失败问题的解决
如果更新失败,可能是因为网络问题或者版本问题。需要检查网络连接是否正常,或使用建议
svn的优点
代码库的管理与维护
总结词
管理与维护代码库是SVN系统中的重要任务之一,它涉及到 对代码库的备份、恢复、权限管理以及版本控制等操作。
详细描述
某公司SVN培训资料

某某公司SVN培训资料一.TortoiseSVN客户端的安装安装比较简单,一路NEXT。
(安装过后必须重启系统,重启后在右键出现SVN相关图标)二、TortoiseSVN基本使用方法Subversion (SVN)支持可在本地访问或通过网络访问的数据库和文件系统存储库。
不但提供了常见的比较、修补、标记、提交、回复和分支功能性, 还增加了追踪移动和删除的能力. 任意数量的客户端可以连接到版本库,读写这些文件。
通过写,别人可以看到这些信息,通过读数据,可以看到别人的修改.下面这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion 库中的文件进行操作。
如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。
检出到本地:初次检出到本地文件夹时,在本地新建一个空文件夹,作为checkout项目的目录,(最后以自己的名字建个文件夹,这样在SVN服务端你所在的小组里就)这相当于拷贝,此文件夹目录相当于你本地机器一个普通的目录,为了得到工作拷贝,具体操作如下图:工厂的内部SVN地址为:https://192.168.0.5:8080/svn/如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。
如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。
检出以后,我们可以任意的编辑文件,编辑后在没有做提交(commit)之前,所有的操作都是在本地有效,SVN上并没有将你的改变公开,即你所操作的信息其他人并不知道,将改变公开的操作被叫做提交(committing),发布你的修改给别人,你可以使用Subversion的提交(commit)命令。
修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记)大家可以发现,文件/文件夹已经发生了变化,由之前绿色的勾变成了红色的感叹号,这表明该文件已经发生了更改,变的与服务器的文件不一样了在信息框中为修改的文件添加说明信息(也可以不添加)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、服务器使用---设置版本库位置
设置完成之后需要重启服务。
三、服务器使用---创建新的版本库
右图中的CheckBox如果选中,则在库test下面 会创建trunk、branches、tags三个子目录;不选中, 则只创建空的版本库test, 一般情况下选中。
三、服务器使用---创建用户
右键点击界面上的Users文件夹,选择create user
五、SVN客户端的使用--- Commit(提交)
对工作副本进行编辑后提交到SVN 在右键菜单中点击SVN Commit 提交前写好信息,点击确定
五、SVN客户端的使用--- Commit(提交)
——日志信息填写规则
好的日志信息和糟糕的日志信息 日志信息主要记录的是每次的修改内容。建议把一 些重要数据、关键操作写到日志信息中。 注:修改人和提交时间由软件自动记录,无需人工 写入日志信息
到特定的版本;
可以了解项目团队成员的进度;
资源共享,不用远程再发送文件;
协同工作,大大提高了工作效率;
一、SVN简介--- SVN基本概念 配置库( Repository )
SVN的核心是配置库,储存所有的数 据,配置库按照文件树形式储存数据 -包括文件和目录,任意数量的客户 端可以连接到配置库,读写这些文件。 通过写数据,别人可以看到这些信息; 通过读数据,可以看到别人的修改。 最特别的是SVN会记录配置库中的每 一次更改,不仅针对文件也包括目录 本身,包括增加、删除和重新组织文 件和目录。
作用:将版本库中的内容检出到本地工作 副本 步骤: 1.新建一个空文件夹; 比如: E:\Proj_trunk 2.在此目录中点击右键-> SVN Checkout...
五、SVN客户端的使用--- Update(更新)
作用:更新工作副本使其成为版本库中的最新版本 SVN将显示出更新的文件和更新的次数
五、SVN客户端的使用---冲突
什么是冲突 冲突产生的原因 冲突产生的时机 解决冲突
关于避免冲突的建议
什么是冲突
冲突是指
团队协同工作时,当多位团队成员同 时修改同一个文件,造成本地文件与SVN 系统中的文件版本不一致,而导致文件无 法提交的情况
冲突产生的原因(一)
配置库 TEST.doc 配置库 TEST.doc
当我们开始编辑一个文件后,图标将变成红色感叹号。通过这种 方式,可以很容易地看出我们对哪些文件进行了修改操作,但是还 没有提交到版本库中;
如果在提交的过程中出现了冲突,图标将变成黄色感叹号。
加号告诉我们有一个文件或是目录已经被计划加入版本控制。
未加入到版本控制中的文件,需要添加到SVN中。
五、SVN客户端的使用--- CheckOut(检出)
件。团队成员A操作完成后,将该文件提交到SVN上。此时, 其他团队成员的本地文件与SVN上的文件版本不一致。当 团队成员B操作完成并对文件进行提交操作时,就会产生冲 突。
冲突的提示页面
提交时产生的冲突
冲突的解决方案
遇到冲突时,需要update该文件。我们将看到三个带问号的文件
filename.mine
存在副本? 是 Update(更新) 否 CheckOut(检出)
编辑工作副本
保存? 是 查看差异 Commit(提交) 查看并解决 否 其他问题
否
Revert(还原)
冲突引起? 是 编辑/解决冲突
否
提交成功? 是 继续工作? 否
是
四、SVN客户端图标说明
四、SVN客户端图标说明
一个新检出的工作副本使用绿色的对勾做重载。表示SVN状态正常.
用revert放弃所做的修改
选择SVN还原(revert) 放弃自己所做的 修改
解决冲突后
通过上面所说的 方法,解决冲突 后要选择已解决 的(resolved) 解决后,带问号 的三个文件将自 动删除 最后选择 commit提交到 SVN
关于冲突的建议
修改文件之前,先进行一次update操作 修改完成后,及时commit,不要在本地停留过长 时间 在多位团队成员协作时,尽量修改自己撰写的部分, 尽量不要修改不属于自己撰写的部分 出现冲突很正常,可以通过前面的方法解决,不要 相互覆盖
filename.rOLDREV filename.rNEWREV
面对文件冲突,我们可以选择以下两种方式解决冲突 使用工具解决冲突 用revert放弃所做的修改
使用工具解决冲突
使用自带工具,如图所 示 对比两个版本的文件, 解决冲突 工具中会列出两个版本 冲突的部分,并让我们 选择使用哪个版本的内 容
三、服务器使用---创建用户组
右键点击界面上的Groups文件夹,选择create Group
三、服务器使用---权限设置
三、服务器使用---权限设置
三、服务器使用---备份和恢复
备份:包含“定期大备份”、“实时小备份” 恢复:恢复所有数据 待用到时再指导专门维护人员
四、SVN客户端使用流程
二、SVN安装说明---客户端安装注意
安装完成后可以直接使用,但是建议重启 重启之后所有的图标才能使用 安装完客户端后再安装语言包 安装后任意位置点击右键->打开设置界面 设置中切换语言
二、SVN安装说明---客户端安装注意
二、SVN安装说明---客户端安装注意
三、服务器使用---服务器属性
配 置 库
Checkout
Commit
工 作 副 本
二、SVN安装说明
技术管理部和标准化人员: SVN服务器:
VisualSVN-Server-2.5.2.msi
研发部人员和测试部人员: SVN客户端:
TortoiseSVN-1.7.4.22459-win32-svn-1.7.2.msi (先装) LanguagePack_1.7.4.22459-win32-zh_CN.msi (中文包,后装)
五、SVN客户端的使用--- Revert(还原)
作用:撤销本地所有未提交的修改 注意:还没有执行Commit操作之前执行 此命令才可以,否则无效
五、SVN客户端的使用--- 击右键), 在菜单中选择“添加Add”命令。不需要 受SVN控制的文件请取消打钩。
一、SVN简介--- SVN基本概念 工作副本(WorkSpace)
与位于中央配置库相对应的是每个人的工作
空间,它是每个程序员工作的地方,程序员从配置
库拿到源代码,放在本地作为工作副本,在工作副
本上进行查看、修改、编译、运行、测试等操作,
并把新版本的代码从这里提交回配置库库中。
一、SVN简介--- SVN基本概念
保存权限设置(见红 圈) ,可以避免将来重 复输入用户名和密码
五、SVN客户端的使用---删除认证数据
步骤:点击右键-> 选择设置-> 已保存数据-> 清除认证数据
五、SVN客户端的使用--- Show log(显示日志)
五、SVN客户端的使用---得到历史信息
工作副本右键显示日志右键选择所需的 版本号复原到此版本
五、SVN客户端的使用---其他SVN的功能
Export(导出) 导出你需要的文件,导出后不在受SVN控制;而 checkout检出的文件仍受SVN控制; Import(导入) 将需要的文件导入到版本库中; CleanUp(清理) 递归的清理工作副本,删除锁定和保留的未 完成操作,如果你得到工作副本已经锁定的错误, 运行这个命令删除无用的锁定,并将工作副本恢复 到可用的状态;
Thank you
内 部 培 训
不规范的日志 规范的日志
去除无用文件 修改文档 更新配置文件
删除程序文件中的无用文件temp.c_和temp.cpp 修改“总体方案”中的第3.3章节,张飞提出的 修改意见 更新公司主题包和配置文件,添加了服务器ip 设置功能
五、SVN客户端的使用--- 权限控制
当进行提交文件操作的时 候您将看到权限提示信息 输入您的用户名和密码
SVN使用培训
项目经理 2014年3月15日
内 部 培 训
主要内容
1 2 3 4 5
SVN简介 SVN安装说明 SVN服务器的使用 SVN客户端使用流程和图标说明 SVN客户端的使用
一、SVN简介---为什么使用SVN工具
SVN(Subversion)是非常强大的配置管理工具;
可以及时了解不同版本之间的差异,可以随时恢复
读文件
读文件
读文件
读文件
李洪涛
陶斌
李洪涛
陶斌
两个人读取同一个文件
配置库 TEST.doc
两个人准备同时编辑这个文件
配置库 TEST.doc
写文件
写文件
李洪涛
陶斌
李洪涛
陶斌
第一个人先提交了修改后的 文件
第二个人后提交了修改后的 文件
冲突产生的原因(二)
产生原因
当团队协同工作的时候,多位团队成员同时操作一个文