当前位置:文档之家› SVN-高级应用使用指南

SVN-高级应用使用指南

SVN-高级应用使用指南
SVN-高级应用使用指南

文档规则

[本地工作区] :work copy,本地工作副本;

[主项目]:引用共用模块的新项目(工程)

最新版本(HEAD revision):版本库里文件或目录的最新版本

SA :SVN服务器的管理员

PRA :单个项目库的管理员,或者是项目负责人

User :普通工作人员

WC :work copy ,本地工作副本

一、模块化开发中svn的使用

主要介绍模块化开发中公用模块/组件的版本控制,介绍两种方法。其中,公用模块一般指那些已经完成的、不可修改的、无法编译成dll的、功能较为完整的代码群。

1.1手工维护公用模块/组件的[本地工作区]

将公用模块(的所需版本)直接取出ckeckout 到本地,公用模块的[本地工作区] 可以作为被引用的[主项目] [本地工作区] 的子目录也可以放在其他独立目录中。[主项目]的提交commit 对公用模块的[本地工作区] 不会发生任何影响,而且公用模块的[本地工作区] 需要项目团队中的每个成员与[主项目] [本地工作区] 相对独立的维护(取出ckeckout ),可能会出现不同项目成员之间的公用模块[本地工作区] 不一致的错误。

1.2 Svn自动维护公用模块/组件的[本地工作区]

需要使用svn:externals属性,具体操作步骤如下:察看[主项目] [本地工作区] 的目录属性

添加svn:externals 属性,格式:子目录名称-r版本号公用模块的URL。公用模块取出ckeckout出来的[本地工作区] 必须作为[主项目][本地工作区] 的子目录,格式中的“子目录名称”就是指公用模块的[本地工作区] 目录名称,注意不要与[主项目]自身的目录同名。如果需要使用公用模块的特殊版本,需要设置格式中的“版本号”,注意加上“-r”。设定好svn:externals属性后需要进行提交commit操作。项目团队的其他成员直接更新update即可,能够自动得到公用模块的[本地工作区]。[主项目]的提交commit对公用模块的[本地工作区] 不会发生任何影响。如果引用多个模块,只需要在设置该属性值的时候将多个模块的路径都填写上去即可。

注意:公用模块的[本地工作区] 一般不建议进行修改,即不要直接对公用模块的[本地工作区] 进行修改、提交commit 操作,建议管理员将公用模块的svn库的权限设置设定为只读权限。如果公用模块确实需要针对[主项目]进行个性化修改,这种情况的处理方法在此次讲座的后面将会谈到。

二、分支技术与产品化开发

2.1 tag/branch的作用和区别

分支:常用来测试新功能,但又不会因为编译错误或BUG干扰开发主线。

标记:用来对项目的特殊版本进行标记,通常不再用于开发。当然你也可以修改/tags/中的副本,但提交时SVN会有警告。例如当项目达到发行状态时可以创建一个发行版本的标记。

注意:/trunk /branches /tags 是SVN默认的主干/分支/标记目录的名称,SVN将对这三个目录有特殊的处理。

2.2推荐的版本库结构:

一个项目建立一个版本库,trunk目录来存放开发的“主线”,branches 目录来存放支线副本,tags目录来存放标签副本。具体结构如下Project_XXX

../trunk

../branches

../tags

●Trunk目录保存开发的“主线”,保存项目日常开发过程中代码和文档的

各个过程版本,一般建议Trunk目录下面至少包含两个目录:

Document、Source、Product,分别保存文档、程序源码、交付

用户的安装包及手册。

●branches目录来存放支线副本,建议branches目录下至少包含两

个目录:Alpha和Special,分别保存测试分支和定制化开发项目分

支。创建分支时分支的名称要尽量能够表明分支的用途,例如一个测试

分支名为FirstTest20070601,其目录为

Project_XXX/tags/Alpha/FirstTest20070601。使用支线的的常用模式

为:1、项目达到可测试状态准备交给测试团队进行测试,创建Trunk

的测试分支保存至Alpha目录下,测试团队从这个测试分支获取安装包

或者程序等进行测试;2、项目要根据另外一个新客户进行少量定制化

开发,为了避免干扰目前项目的开发,创建Trunk的定制化开发分支保

存至Special目录下。

●tags目录来存放标签副本,以方便查找某些重要项目版本。建议目录

下至少包含两个目录:Release和Other,分别保存产品发布标签和

其他标签。使用标签的常用模式为:1、当Alpha分支经过严格测试达

到发布标准后,将Alpha的最新版本做Tag保存在Release目录中;

2、重要里程碑阶段进行Tag保存在Other目录。

2.3如何做branch

2.3.1分支—>主干

实施团队开始为某个单位进行实施前,首先通过配置管理委员会的评审来建立相应实施模块的分支。需要对该单位实施多少个模块,就要针对多少个模块分别建立分支,分支的名称建议采用“项目名+时间”的形式,下图显示的为source 模块所建立的XXX厂的分支:

选择“切换工作拷贝到新分支/标记的选项”时,本地工作区将变成新建分支的副本。一般来说,这个分支是不是由实施团队建立的,操作人员没必要马上将自己的工作区变成分支的副本。需要变成分支副本时,可以还可以通过切换

Switch...命令完成转变工作。

切换Switch...操作时一定要注意目录的对应关系,即切换后目录的项目意义不能发生更改,在trun k主干上是class目录切换分支后不能是别的目录。进行改操作之前必须提交commit [本地工作区],并尽量在[本地工作区]的根目录上进行改操作。

2.4实施团队版本控制工作内容

2.4.1建立实施项目的版本库

参照“2.2 推荐的版本库结构”中介绍的方式组织版本库,经配置管理委员会评审并建立该实施项目的版本库。

2.4.2组织本地工作区

项目实施负责人首次取出checkout 新建分支后,按照Svn自动维护公用模块/组件的[本地工作区] 将soruce 目录的svn:externals属性进行设置,然后提交供实施团队中其他人员下载(取出checkout或者更新update)。

如果引用的模块(子系统)需要个性化修改,可以由配置管理委员会将该模

块(子系统)所实施项目的分支权限设置为可编辑模式,项目实施团队对该分支进行修改、提交操作。

2.5 brach合并

2.5.1分支——〉主干

实施团队在分支上的工作过程中发现一个在主干trunk上也同样存在的错误,实施团队在自己的分支上修改并提交commit后需要通知配置管理委员会,以便开发团队和其他项目团队能够更改这个共同的错误。

下图显示分支将错误修改的工作内容合并到主干trunk上的过程,其操作人员为开发团队成员:

确定[本地工作区] 是主干trunk后,点击鼠标右键,选择“合并Merge...”命令:

起始和结束地址对应的目录必须与“对应版本库URL”所指的目录在项目意义上是相同的,即必须都为class目录或者都为bin目录。起始版本到结束版本之间的所有增加Add、重命名Rename、移动、删除、修改等等操作都将合并到主干trun k上。

在“合并”前先进行“比较差异”或者“预检”来确定上面的选项填写的是否正确无误。“比较差异”使用差异比较工具分别显示主干和分支的内容,以方便对比差异。“预检”使用svn内置的合并工具进行试验性质的合并(不是实际的合并),以检测是否能够自动合并。

“合并”后,trunk的[本地工作区] 将发生变化,即将分支上的修改内容加到了主干trunk上,开发团队需要进行提交commit,提交时建议在注释中填写合并的范围信息,以便下次合并时避免进行重复的合并,即下次合并时从这次合并的范围之后开始合并。

2.5.2合并——〉分支

基本过程与上面的相同,但是改成在实施团队的[本地工作区] 上进行操作。

注意:无论是何种方向的合并,都要注意合并的周期,不能间隔过长的时间,否则分支/主干的变化过多时合并操作将非常困难。当然,项目的个性化开发所做的分支修改可以不必合并到主干上。

合并的实质就是将其他分支上的变化过程更新到自己的[本地工作区] 上,就像我们用开发工具直接修改[本地工作区] 一样,只不过合并提供了一个自动化的手段(不完全的自动化),如果需要合并的文件很少而且你比较清楚是那些差异,完全可以自己修改[本地工作区] 然后直接提交。

另外,对于二进制文件由于无法进行差异比较,其合并更多的就是将旧文件删掉使用新文件。

2.6如何做tag

标签的建立过程跟分支建立完全一样,只是目录不同:

如果一个已经标记过的还发布了的版本Version_1.0.0(开发团队可能已经正在进行2.0版的开发了),还要进行修改,正确的方法是创建一个新的分支,在新分支上做修改,再根据这个分支创建新标记,比如Version_1.0.1,然后把这个新分支版本提供给用户。

三、一些小技巧

3.1建立版本库的桌面快捷方式

在桌面上建立一个任意程序的快捷方式,然后将快捷方式的“目标”修改成类似下例中的内容:

"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:repobrowser /path:svn://localhost/Pro01 /notempfile

其中蓝色部分是项目的在svn服务器上的路径地址。

3.2几种不同的忽略处理方式

3.2.1全局忽略模式

这种方式影响本机的所有项目,不影响其他团队成员(在其各自的客户端操作)的操作。

3.2.2添加到忽略列表

选中该文件,使用右键中的“添加到忽略列表”命令,仅是对当前[本地工作区]有效,不影响本机其他[本地工作区]

3.2.3 svn:ignore属性

该方式仅影响所选项目/项目目录的,团队其他成员也受影响。

3.3忽略被错误加入进版本库中的文件

1.本应该忽略的文件刚被“Add(添加)”进版本库,还未“Commit

(提交)”。选中该文件,然后使用右键中的“Svn还原”命令来取

消刚才的“Add(添加)”的操作;然后再选用适当的忽略处理方式

将该文档忽略。选中该文件,使用右键中的“添加到忽略列表”命

令,将其添加到忽略列表中避免以后犯同样的错误。

2.本应该忽略的文件刚被“Add(添加)”进版本库,并进行了“Commit

(提交)”。需要下面几个步骤来进行操作:

1.将这个文件移动到别的目录中(一定不是这个项目的[本地工作

区]);

2.进行“Commit(提交)”操作,出现下图所示界面,选中该文件前

的复选框,然后“确定”。

3.把刚才移出去的文件再次移回来,然后再选用适当的忽略处理方式

将该文档忽略。

3.4多项目共享认证

修改conf文件夹中的svnserver.conf文件下列选项:

●password-db :“定义用户口令”的文件所在地址的设置项

为了达到共享认证的目标多个项目的password-db的设置所对应的口令文件必须相同。口令文件的路径使用类似网站定位的方式,例如password-db = ../../pass/passwd.db,相对路径的参考路径为svnserver.conf所在路径。

●realm:认证域设置项

为了达到共享认证的目标多个项目的realm的设置所对应的口令文件必

须相同,即设置为相同的字符串即可。

●authz-db:“定义用户目录权限”的文件所在地址的设置项

如果需要对用户可访问权限进行目录级别的特殊设置,就必须设置此项内容,否则可以不必设置。共享认证时,此设置项所指的“定义用户目录权限”的文件也必须是同一个文件,文件路径定义类似“password-db”选项。

3.5 SVN与事务跟踪系统的集成

项目开发进入测试阶段后,svn可以和bug管理系统集成起来。

以下的方法需要在开发组各成员的本机上设置,暂时无法在版本仓库上统一设置。详细参看

mk:@MSITStore:c:\program%20files\tortoisesvn\bin\TortoiseSVN_en.chm::/ch05s24 .html 或者打开TortoiseSVN帮助参看5.24.节。

1.选则本地工作区任意目录点击鼠标右键,选择“属性”切换到“Subversion”

栏。

图3.5.01

●事务跟踪系统的URL

对应属性:bugtraq:url

属性值:

http://192.168.1.113/URTracker/Pts/ViewProblem.aspx?Problem=%BUGID%其中%BUGID%类似程序里的变量,是对应的事物跟踪系统中的错误号,也可以用别的名称,但是%不能丢。

●强制提交操作时注释日志的长度,如果输入长度不足将会提醒

对应属性:tsvn:logminsize

属性值:5

最短5个字,如果有必要可以更大的数字

●没有输入事务跟踪号提醒

对应属性:bugtraq:warnifnoissue

属性值:true

注意:如果有些提交操作不是针对错误的话,该属性不要设置。

●显示在注释日志中的提示标签,图03中显示效果

对应属性:bugtraq:message

属性值:事务跟踪系统Url:

点击该标签后的事务跟踪号就可以直接连接到bug(事务跟踪系统)系统中对应的错误页面上。

●标签,图2中文本框前面的汉字标签

对应属性:bugtraq:label

属性值:事务跟踪号:

注意:图3.5.01中的递归选项,如果选中,这个目录下的所有子目录都将加上上述设置,在提交时将会强制输入注释日志和事务跟踪号(如果进行了该项设置的话)。

2.提交时除了要填写平时常见的注释日志以外,还要填写事务跟踪号。

图02

3.察看日志时能看到某次版本变化对应的事务跟踪号。点击事务跟踪号可以进

而察看错误内容。

图03

跟事务跟踪系统集成后,就需要注意提交操作的时机了,因为每次提交只能填写一个事务跟踪号。但是可以多次提交填写同一个事务跟踪号,如果错误比较严重需要调整程序周期比较长的话,分多次提交填写同一个事务跟踪号。

SVN使用手册(最全版)

SVN环境搭建及使用手册 一、SVN介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 二、SVN安装包介绍(安装包存放在服务器上D:\安装包\SVN) 服务端:SVN服务端安装包是VisualSVN-Server-3.6.0-x64.msi。 客户端:客户端软件主要包括下列3个文件 1. TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi ----SVN客户端安装包 2. LanguagePack_1.9.5.27581-x64-zh_CN.msi ----SVN客户端语言包 3. AnkhSvn-2.5.12471.17.msi -----SVN针对Visual Studio的插件 三、搭建SVN服务端详细说明 第一步:搭建SVN团队项目、在服务器上打开已安装的SVN服务端、新建一个项目文件夹、创建完成后、右键项目复制项目URL 具体如下图

第二步:创建SVN用户、及设置密码、如下图 第三步:SVN服务端创建项目完成及创建用户后、使用SVN客户端将程序代码等文件提交上去、选中需要提交的程序文件、并填写正确SVN服务端项目的URL地址、

四、在日常开发中使用SVN的常用操作主要有:签出程序、文件合并、代码文件撤销、版本回滚、及历史版本控制等 说明:使用SVN版本控制,必须遵循4个原则。 1.新建文件前获取最新的程序代码、新建文件后先提交文件、再进行详细开发或编辑。 2.尽量避免多人同时处理同一个文件(svn毕竟不是那么优秀、无法智能将代码成功合并)。 3.项目成员提交程序前、必须获取最新的程序、编译且没问题、再进行提交操作。 4.提交代码必须选择解决方案进行代码提交、请勿选择其中某项目进行提交。 (1)签出最新程序:选择解决方案右键--》Update Solution to Latest Version, 如下图 (2)代码文件合并:如svn上的文件与本地文件产生冲突、则会在Pending Changes 中高亮显示、双击文件打开双方文件差异、合并完成后、点击Commit进行合并后文件提交。如下图

SVN使用手册版

S V N使用手册版 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

S V N环境搭建及使用手册 一、SVN介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 二、SVN安装包介绍(安装包存放在服务器上 D:\安装包\SVN) 服务端:SVN服务端安装包是。 客户端:客户端软件主要包括下列3个文件 1. ----SVN客户端安装包 2. ----SVN客户端语言包 3. -----SVN针对Visual Studio的插件 三、搭建SVN服务端详细说明 第一步:搭建SVN团队项目、在服务器上打开已安装的SVN服务端、新建一个项目文件夹、创建完成后、右键项目复制项目URL 具体如下图

第二步:创建SVN用户、及设置密码、如下图 第三步:SVN服务端创建项目完成及创建用户后、使用SVN客户端将程序代码等文件提交上去、选中需要提交的程序文件、并填写正确SVN服务端项目的URL地址、

四、在日常开发中使用SVN的常用操作主要有:签出程序、文件合并、代码文件撤销、版本回滚、及历史版本控制等 说明:使用SVN版本控制,必须遵循4个原则。 1.新建文件前获取最新的程序代码、新建文件后先提交文件、再进行详细开发或编辑。 2.尽量避免多人同时处理同一个文件(svn毕竟不是那么优秀、无法智能将代码成功合并)。 3.项目成员提交程序前、必须获取最新的程序、编译且没问题、再进行提交操作。 4.提交代码必须选择解决方案进行代码提交、请勿选择其中某项目进行提交。(1)签出最新程序:选择解决方案右键--》Update Solution to Latest Version, 如下图

TortoiseSVN使用教程[多图超详细]

TortoiseSVN使用简介 2009-04-24 来源:dev.idv.tw ?1.安装及下载client 端 ?2.什么是SVN(Subversion)? ?3.为甚么要用SVN? ?4.怎么样在Windows下面建立SVN Repository? ?5.建立一个Working目录 ?6.新增档案及目录到Repository中 ?7.更新档案及目录 ?8.更新至特定版本 ?9.复制档案及目录 ?10.制作Tag或是Release ?11.快速参考 o11.1取得(Checkout)Repository o11.2更新(Update)档案或目录 o11.3新增(Add)档案或目录 o11.4提交(Commit)修改过的档案或目录 o11.5Copy/T ag/Branch/Release档案或目录 安装及下载client 端 1.下载Windows 端程序:https://www.doczj.com/doc/1518475408.html,/downloads。一般而言,如果是32-bit的Windows XP 应该使用 TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 这个档案。如果是64-bit 的 操作系统,则应该使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x.msi 这个档 案。 2.执行下载回来的TortoiseSVN 安装程序,就会进行T ortoiseSVN 的安装。 正确安装后,应该进行一次的重开机,以确保TortoiseSVN 的正确无误。 3.安装成功后,在档案管理员内按下鼠标右键,应该可以看到如右图所 示: 大部分的TortoiseSVN的操作都是透过档案管理员及鼠标右键就可以完成 了。如果您之前使用过TortoiseCVS,应该会对这种操作方式感到十分亲切。 什么是SVN(Subversion)? 有一个简单但不十分精确比喻:SVN = 版本控制+ 备份服务器 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。 通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。

SVN-日常使用指南-200801

文档规则 [本地工作区] :work copy,本地工作副本; [主项目]:引用共用模块的新项目(工程) 最新版本(HEAD revision):版本库里文件或目录的最新版本 SA :SVN服务器的管理员 PRA :单个项目库的管理员,或者是项目负责人 User :普通工作人员 WC :work copy ,本地工作副本 1.版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 建议的开发过程组织: 1.随行就市 项目刚开始阶段,单独开发;项目稳定阶段,完整开发。项目开发初期,各个项目成员负责自己的文件夹(或者模块),与SVN服务器间 的更新、提交等操作只需要针对自己负责的文件夹(或者模块)就行了,他人的文件夹(或者模块)可以不必关心;项目稳定阶段,也就是每天 的变更量很小了,所有项目成员与SVN服务器的更新、提交等操作需要 针对项目的所有文件夹(或者模块),各个项目成员在其本地编译时本地 工作区的全部项目程序(或者资料)均为最新的版本,保证项目作为整 体能够顺利运行。 2.能躲就躲 尽量保证一份文件只有一个项目成员在编辑。举例说明:程序员A 负责底层中文件DBAccess.cs的编写,如果程序员B的工作要求他为 DBAccess.cs增加两个方法,程序员B应该通知程序员A来增加而不是 自己增加;如果此时A非常繁忙需要B自己增加,就需要B先更新本地 的DBAccess.cs,然后开始修改,修改完成后立即提交并通知A更新本 地的文件,通过缩短提交间隔来减少冲突。

SVN管理员使用指南

SVN 管理员使用指南

目录 1Subversion简介 (1) 1.1Subversion简介 (1) 1.2Subversion架构 (2) 1.3Subversion组件 (3) 1.4Subversion基本流程 (3) 2安装SVN 服务 (4) 2.1安装SVN和TortoiseSVN (4) 2.2创建SVN资源库 (4) 2.3创建SVNserver服务 (5) 2.4运行SVNserver服务 (6) 3用户及权限管理 (6) 3.1用户管理 (7) 3.2权限管理 (7) 4SVN基本使用 (9) 4.1导入/导出(import/export) (9) 4.2初始化检出(checkout) (10) 4.3更新修改(update) (10) 4.4查看日志信息(show log) (10) 4.5取消修改(revert) (10) 4.6提交修改(commit) (10) 4.7合并信息(merge) (10) 4.8创建/删除/重命名 (10) 4.9加锁/释放锁(get/release lock) (10) 4.10添加、删除、重命名(add、delete、rename) (10) 4.11拷贝(copy) (13) 4.12查看修改信息(check for modifications) (13) 4.13分支/标记(branch/tag) (13)

4.14创建并应用补丁(create/apply patch) (15) 4.15备份/恢复资源库 (17) 4.16删除资源库 (19) 4.17版本(revision)关键字 (19) 4.18统计信息(statistics) (20) 4.19禁用密码缓存 (21) 5TortoiseSVN设置 (21) 5.1常规设置(General) (23) 5.2图标叠加(Icon overlays) (27) 5.3网络设置(network) (29) 5.4日志缓存设置(log caching) (30) 5.5钩子脚本设置(Hook Scripts) (32) 5.6外部程序设置(external programs) (32) 6TortoiseSVN基本命令 (37) 6.1Svn子命令 (37) 6.2Svnadmin (38) 6.2.1Svnadmin Switches (39) 6.2.2Svnadmin Subcommands (39) 6.3Svnlook (40) 6.3.1Svnlook选项 (40) 6.3.2Svnlook (41) 6.4Svnserve (41) 6.4.1Svnserve选项 (41) 6.5Svnversion (42) 6.5.1Svnversion选项 (42)

svn详细使用教程-超经典

svn详细使用教程-超全面 TortoiseSVN是一个SVN的客户端,SVN客户端的使用 1.Checkout Repository 首先要Checkout服务器端的Repository, 所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。 这个Checkout和Visual Source Safe的Checkout意义完全不一样, VSS的Checkout指的是锁定某个文件,如果你以前使用过VSS, 在学习Subversion时这个问题一定要注意。 Checkout的具体方式是: 在客户端新建一个空目录,比如:F:\Project1 在该目录上单击右键,在弹出式菜单中选中SVN Checkout..., 之后在“URL of Repository”文本框中填入你想要连接的Repository的地址, 这个URL地址可以用浏览方式加入。 对于在本教程第二节建立的Repository, URL应该是“svn://xxx/project1” (xxx可以是服务器端主机名,也可以是服务器端的ip地址)。 然后点OK,会弹出一个认证对话框, 输入在教程第三节设置的用户名和密码。 点OK后就完成了对Repository的Checkout。 比如:在服务器端Repository中有一个a.txt文件, 那么Checkout之后F:\Project1目录下也会出现一个a.txt文件。 在本例中由于服务器端的Repository还未添加任何文件, 所以在客户端的F:\Project1下没有文件被Checkout。 执行Checkout除了会在F:\Project1产生Repository存储的文件及目录外, 还会产生了一个“.svn”的隐含目录,该目录是由subversion管理的, 不要删除或者手工改动其中的文件和目录。 现在F:\Project1中的文件和目录就叫做Repository的“Working Copy”简写“WC”(这个简写...汗)。 以后对Repository中文件和目录的修改,添加,删除的操作, 都是通过对这个“Working Copy”的操作实现的。 Checkout执行完后, 会发现F:\Project1目录的图标的左下角附着了一个小的状态图标 (当F:\Project1目录中的文件改变时,这个状态图标也会随之变化), 它表示F:\Project1是一个Repository的“Working Copy”, F:\Project1内的所有文件和目录也会有类似的状态图标。 2.添加文件 将要添加的文件或者目录拷贝到F:\Project1下, 然后在该文件或目录上单击右键,TortoiseSVN->Add,点OK。 如果添加了不止一个文件或目录, 则鼠标不要在F:\Project1中点中任何文件, 然后单击右键,TortoiseSVN->Add, 就可以添加多个文件或目录。

TortoiseSVN使用说明书(超详细)(DOC)

一、TortoiseSVN客户端的安装 1.客户端软件:TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端 中文语言包:LanguagePack_1.7.12.24070-win32-zh_CN.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端\语言包 (客户端安装在系统的默认位置,不需要特殊的配置,安装完成后需要重新起动系统, 重启之后鼠标的右键菜单会多出这么一组命令) 2. 中文语言包的安装如下:

二、Subversion基本工作流程 这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion库中的文件进行操作。 1.如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。 检出到本地: 初次检出到本地文件夹时,在本地新建一个空文件夹,具体操作如下图: 如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。 如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。 在弹出的对话框中输入自己的用户名和密码。

修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记) 在信息框中为修改的文件添加说明信息。如下图 在变更列表中选中更变的文件。如下图

点击确定后会提示输入用户名和密码。

从服务器端更新本地文件的版本: 如果服务器上的版本库已经是第7版本,自己本机的版本还是第1版本。这时你可以更新自己本地的版本为第7版本。

SVN日常使用说明

1.版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 2.各阶段中svn的使用方法介绍 2.1.初始化版本库 初始化版本库有两种常用的方式: 2.1.1.直接“导入Import…”(目前,OSSP版本已经导入 到版本库,项目组成员无需做此操作) 对要执行导入操作得项目文件夹进行如下清理: 1. 把项目中不需要的文件删除。(临时文件、编译器创建的文件,比如*.obj、二进制文件等。) 2. 把文件夹和子文件夹中的所有文件整理一遍。虽然你可以在导入之后再来进行重命名或删除等操作,但是还是推荐你在导入之前把你的项目整理好。 在资源管理器(windows explorer)中选择项目(本地硬盘上)的根文件夹,单击鼠标右键,选择导入Import…命令,跳出一个对话框:

在这个对话框中你需要填写你要将项目导入仓库的URL地址(svn必须小写)。导入信息(Important Message)是用来记录日志信息的。注意:与“忽略样式exclude pattern”匹配的文件或文件夹不会被导入,除非选择了“包含忽略的文件”选项。 按下“确定”按钮后,TortoiseSVN就开始把整个文件夹树(包括所有文件)导入到仓库。用来做“导入Import”操作的这个文件夹的名字不会出现在仓库中,只有文件夹中的内容会出现。注意:刚才用来做“导入Import”操作的这个文件夹并没有处于版本控制下!要获取一份处于版本控制之下的[本地工作区]副本,你需要对刚导入的版本做一次“检出Checkout”操作。 2.1.2.“检出Checkout”—>“提交Commit” 新建一个空文件夹作为[本地工作区]的存放文件夹(建议与项目同名),在文件夹上(或者文件夹里)单击鼠标右键后在命令菜单中选择“检出Checkout…”,出现操作窗口。注意:只能检出Checkout到一个空文件夹。

SVN常用功能说明

SVN常用功能说明 1.每次在修改本地文档前,都点击“SVN Update”。 2.每次在修改本地文档后,都点击“SVN commit”。 3.提交后,文件夹图标上还是红色感叹号标志。 右键目标文件夹,选择右键菜单:Tortoise SVN->Clean up。 4.放弃本地修改,用资源库版本替换本地版本。 右键目标文档或文件夹,选择右键菜单:Tortoise SVN->Revert。 5.文件冲突解决 右键目标文件,选择右键菜单:Tortoise SVN->Resolved,然后提交。 6.文档差异比较(本地与资源库的文档差异比较) 右键目标文档,按下图选择右键菜单。 为了能进行Word和Excel文档的差异比较,需按照《TortoiseSVN中Word、Excel比较差异出错解决方法》进行设置。 7.文件夹差异比较(查看目标文件夹下有变化的文档) 右键目标文件夹,按下图选择右键菜单。

在弹出界面,点击按钮“check repositoty”,就会显示目标文件夹下有变化的文件,如果要比较文件的变化内容,按下图操作。 如果要选择签出新增的子目录:在上图中右键目标文件夹,点击”Update”。 8.查看文档的历史修改记录 右键目标文档,按下图选择右键菜单。

弹出的历史修改界面如下: 如果要用某个历史版本替换本地版本,按下图操作:

如果要比较两个历史版本之间的差异,按下图操作。 9.删除目录下的svn目录(恢复成普通目录) 复制deleteSVN.reg文件到本机,双击注册,在所有目录的右键菜单里就有DeleteSVN项了。 VS2008的SVN配置参考文件:VS2008源代码管理工具配置手册

svn基本操作手册

SVN操作手册 该操作手册简略地介绍一些日常使用操作,如需要更详细的说明文档可以访问网址https://www.doczj.com/doc/1518475408.html,/tsvndoc/。 一、登陆 1、打开资源管理器,在任意的目录下点击右键,在弹出的右键菜单里选择TortoiseSVN,选择版本库浏览器,将会弹出URL的窗口。 2、在URL编辑栏中输入SVN server的路径,例如:http://10.142.49.232/svn/test SVN可以通过多种方式访问——本地磁盘访问,或各种各样不同的网络协议,但是一个版 3、当输入步骤2 的url后,会弹出用户认证对话框,输入用户名和密码就可以登陆了。 登陆成功后会显示如图1所示的操作界面——版本库浏览器。 图1

二、导入项目 方法一: 1、在版本库浏览器窗口中,选择根目录,单击右键显示图2所示的菜单。 图2 2、选择加入文件夹,弹出文件浏览器窗口,选中要导入的项目所在文件夹,并确定。 3、步骤2 将弹出该操作的日志窗口,如图3 所示。点击确定,即可完成导入。 图 3 方法二: 选中导入的文件夹,单击右键,选择TortoiseSVN,在弹出的子菜单选中导入(I)… , 会弹出如图4所示的窗口。输入导入项目的目的地的URL和导入信息(用于日志消息,可不填写),然后点击确定就成功导入。 注意事项: 1、导入项目之前,必须先移除不是项目所必须的文件(由编译器所产生的临时文件,如*.obj,*.class等等。 2、先整理下文件夹和子文件夹里的文件,尽管可以在导入后重命名/删除文件,但是建

议在导入项目之前先将文件结构整理清楚。 3、导入的资料不包括选中的文件夹,而是该文件夹里面的资料。 4、如果选中的文件夹其子文件夹里面没有文件,则该子文件夹也不能被导入。 图 4 三、导出项目 1、登入版本库浏览器,选择要导出的项目。 2、右键选中“导出”,弹出如图所示的对话框。 图5 3、选择要导出的目录,并确定,即可完成导出。

svn日常使用指南及常见错误

SVN日常操作及常见错误 1.SVN简介 1.1什么是TortoiseSVN? TortoiseSVN 是Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看作一种“时间机器”。 某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性- 比如,对编程语言的支持,或者提供程序构建工具。不过Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。 1.2TortoiseSVN 的特性 1.重载图标 每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。 2.目录版本控制 CVS 只能追踪单个文件的历史,但是Subversion 实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。 3.原子提交 提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。 4.高效的分支和标签 分支与标签的代价不与工程的大小成比例,Subversion 建立分支与标签时只是复制

项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。 5.良好的维护能力 Subversion 没有历史负担,它由一系列良好的共享C 库实现,具有定义良好的API,这使Subversion 非常容易维护,可以轻易的被其他语言和程序使用。 1.3 安装 TortoiseSVN TortoiseSVN 提供一个容易使用的安装程序。双击安装程序文件并按照提示操作。安装程序将会完成剩余的步骤。 TortoiseSVN 的界面已经翻译成了许多种语言,所以你可以下载符合你要求的语言包。你可以在我们的翻译状态页[https://www.doczj.com/doc/1518475408.html,/translation_status]里看到语言包。如果没有你需要的,为什么不加入我们的团队并且提交你的翻译呢?-) 每一种语言包都是一个.exe 安装程序,只要根据向导运行安装程序,当你下一次启动程序时,翻译就会生效。 2.版本库 2.1版本模型 2.1.1文件共享的问题 考虑这个情景,我们有两个共同工作者,Harry 和Sally,他们想同时编辑版本库里的同一个文件,如果首先Harry 保存它的修改,过了一会,Sally 可能凑巧用自己的版本覆盖了这些文件,Harry 的更改不会永远消失(因为系统记录了每次修改),Harry 所有的修改不会出现在Sally 的文件中,所以Harry 的工作还是丢失了—至少是从最新的版本中丢失了—而且是意外的,这就是我们要明确避免的情况!

TortoiseSVN史上最全教程

TortoiseSVN教程 1引言 ●团队开发? ●修改文件而他人也在改?你修改的内容丢失? ●保存了文件可又后悔了?想得到几天前的版本? ●发现了bug,想知道bug何时引入的? 这些问题都遇到了?那就使用TortoiseSVN吧。TortoiseSVN是Subversion的客户端。Subversion是针对CVS的不足而开发的版本控制系统。这些提升主要包括以下的一些方面: 1.目录、文件以及改名等元数据的版本化 不同于 CVS 只关心文件的内容以及文件是否存在,所有文件、目录的相 关操作都是被版本化的,例如文件的改名、拷贝等等; 2.提交操作是真正的原子操作 在 Subversion 中,提交操作是不可分割的,修订版本号是基于每次提交 操作而非文件。提交日志被附加在每个修订版本中,而不是像 CVS 一样 冗余的进行存储; 3.可通过 Apache 服务器提供基于 WebDAV/DeltaV 协议的支持,该功能可使 Subversion 通过 Apache Web 服务器使资源库更加灵活的在网上进 行共享,使其在互操作性上大大优于 CVS; 4.可独立运行。当你不想使用 Apache 2.x 时候,你也可以使用 Svnserve,它可以以守护进程或者是Windows 下的服务方式独立运行; 5.分支(Branching)与标签(Tagging)操作是轻量级的; 6.客户服务器端分层库结构设计; 7.资源库可以采用数据库(BerkeleyDB)或者是使用特定格式的文件进行存储; 8.更有效的对二进制文件进行处理。 2基本概念 2.1 版本库Repository Subversion是版本管理的后台系统,其核心是保存数据的版本库-repository。版本库用分层的“文件-目录”文件系统数来存储数据。连接到版本库的客户能读写数据。版本库是源码的集中存放处,记录了你的每一次修改!客户端可以从版本库中取到过去的版本。

SVN文档管理软件使用指南

比西亚输变电项目SVN软件使用简易指南 为了项目部更好的管理文档,以及文档的版本控制,我推荐大家使用TortoiseSVN软件,该软件通过服务器,不仅可以对每个用户设置权限读写和更新文件,还可以进行很好的版本控制,不同用户修改的记录都可以很清楚的显示出来,文档和表格的修改历史也可以方便的调阅。软件安装简便使用方便,目前我已经把服务器设置好。每个人都可以用自己的名字小写拼音登录,密码为名字拼音的声母小写。欢迎大家试用。 目前按照肖总的意思,暂时需要归档的文件有: 1.收发函目录(excel) 2.收发函件(扫描版) 3.业主会议纪要 4.业主往来函件 5.分包商会议纪要 6.分包商往来函件 7.技术图纸 8.技术规范 9.项目周报 10.项目月报 11.报业主进度计划 12.其他杂项文件 1.软件安装 压缩包打开 安装TortoiseSVN软件,如果系统是32位版本就安装前者,64位系统安装后者。 安装后重启软件 2.Checkout软件(数据的检出第一次使用软件的时候执行)在桌面任意处点鼠标右键,弹出菜单如下:

,会提示设置服务器: 。目前设置胡安的台式机为服务器,服务器地址:https://10.10.16.81:8443/svn/CAMC/粘贴到相应处设置如下: (营地外的互联网用户使用https://186.167.1.156:8443/svn/CAMC/,修改原地址设置地址,选中“CAMC”文件夹鼠标右键弹出如下菜单:

,选择“Relocate…”进入后设置地址如图: 即可) 下面的 这里设置的时你本地机上同步资料的文件夹,可以点按钮自行设计地址。 设置完毕点按钮后,弹出用户名密码窗口: 填写你本人的用户名密码(汉语拼

TortoiseSVN使用指南

TortoiseSVN使用指南

目录 1.引言 (1) 1.1目的 (1) 1.2范围 (1) 2. SVN基础知识 (1) 2.1 SVN简介 (1) 2.2 SVN特性 (1) 3. SVN基本应用 (2) 3.1 TortoiseSVN 最快入门 (2) 3.2客户端的安装 (3) 3.3 SVN服务器端登录 (6) 3.3.1 Repo-browser 版本库浏览 (7) 3.3.2 Create repository here 创建版本库 (9) 3.3.3 SVN Checkout 检出到工作目录 (9) 3.3.4 Import 导入 (11) 3.3.5 Settings 设置 (11) 3.4 版本库基本操作 (12) 3.4.1 Show log 查看日志 (12) 3.4.2 Revision graph 版本树显示 (13) 3.4.3 Export 导出 (13) 3.4.4 Check out 检出 (14) 3.4.5 Refresh 刷新 (15) 3.4.6 Add file(folder) 添加文件(文件夹) (15) 3.4.7 Rename 对目录或文件进行改名 (15) 3.4.8 Delete 删除 (15) 3.4.9 Copy to working copy 把当前目录拷贝到本地工作拷贝 (16) 3.4.10 Copy to working copy 拷贝到 (18) 3.5 客户端操作 (18) 3.5.1 客户端的基本操作 (18) 3.5.2 常用功能介绍 (20) 3.5.2.1 Update to revision 返回到版本 (20) 3.5.2.2 Revert返回上一级 (21) 3.5.2.3 SVN Update更新 (21) 3.5.2.4 Resolved冲突已解决 (21) 3.5.2.5 Switch切换 (23) 3.5.2.6 Relocate重新定位 (23) 3.5.2.7 Add添加 (23) 3.5.2.8 Create(Apply) patch 创建应用补丁 (23) 3.6 分支与合并 (24) 3.6.1 常用功能介绍 (24) 3.6.2 分支的建立 (25) 3.6.3 分支的合并 (27)

相关主题
文本预览
相关文档 最新文档