文档库 最新最全的文档下载
当前位置:文档库 › svn课堂

svn课堂

svn课堂
svn课堂

Svn课堂

一:svn安装

安装文件:

第一步:安装svn,在D盘的目录下

其中:

bin:svn可执行命令(例如svnadmin等)

由于svn是安装版,当安装成功,会在电脑的环境变量中显示:

二:svn的一些常用命令

(1)判断svn是否安装成功。在cmd下执行:可以看到svn 安装成功。

命令:svnadmin --version

(2)创建svn数据仓库

命令:svnadmin create D:\repository\svn\itcast

可以看到在指定的目录下生成:

(3)启动svn服务

命令:启动SVN服务:

svnserve -d -r D:\repository\svn\itcast [单仓库启动]

svnserve -d -r D:\repository\svn [多仓库启动] 建议使用多仓库

(4)判断svn服务是否启动成功

重新开启窗口

命令:netstat -an 查看3690端口是否被占用

(5)客户端从服务器端检出文件

命令:svn checkout svn://ip/repositoryName

如果服务器端开启的服务命令是【单仓库启动】:

由于服务器端已经是在itcast目录下了,所以客户端不需要在指定itcast了,可以写成:

但是如果服务器端开启的服务命令是【多仓库启动】:

此时客户端必须要指定哪个仓库,需要写成:

其中.表示检出到当前目录路径。

如果连接成功,可以在E:\svnclient\zhangsan会出现以下的效果:

其中zhangsan的文件夹中出现:

注意这个文件,不要去修改它

但是由于SVN服务器上没有内容,所以获取的是空的文件。相当于与服务器连接上了。(6)客户端将文件纳入版本控制器

命令:svn add filename

在E:\svnclient\zhangsan的文件夹中,新建一个java类A.java,如果想要将A.java传递到服务器上,并纳入到版本控制。可以执行:

此时,在E:\svnclient\zhangsan的文件夹中显示。

(7)客户端提交文件

命令:svn commit -m "message" filename

其中-m表示需要为提交或操作服务器的文件做必要的说明。

这里不要执行:

按照要求,我们执行:

此时说明没有zhangsan这个用户的,这里必须要在服务端配置zhangsan的用户、权限才可以访问。

重点:修改服务器端配置:

修改itcast/conf文件夹下的svnserve.conf文件,配置:

此时再次执行:svn commit –m ―zhangsan init A.java‖ A.java,可以看到提交服务器成功。

(8)从服务器端获取代码

命令:svn checkout svn://ip/repositoryName

使用lisi的账号,获取zhangsan提交的代码。

这样在E:\svnclient\lisi可以看到:

如果lisi在本地写一个文件B.java,然后将B.java也上传到服务器,重复上面的命令,如图:

注意:你会发现提交后的版本变成2,说明服务器只要发生变化了,都会产生一个新的版本(9)本地更新服务器上最新的代码

命令:svn update(更新所有文件)

svn:update [filename] (更新指定的文件)

此时在E:\svnclient\zhangsan的目录下,会看到:

总结:一般我们执行svn checkout svn://ip/repositoryName命令只要一次,就相当于和服务器取得连接,以后都会执行svn update,用来更新服务器端最新的代码。

(10)删除服务器上的代码

命令:svn delete filename

可以看到E:\svnclient\lisi下没有B.java

注意:真正的项目中,尽量不要使用delete语句,这样很容易误删,如果误删多了,恢复起来很麻烦,让它多着去吧,也不差这1,2个文件。

(11)恢复服务器上误删的代码

命令:svn revert filename

可以看到E:\svnclient\lisi下又会出现B.java

注意:只能恢复提交之前的状态,如果删除代码已经提交(commit),那么将不能再恢复例如:如果执行删除(delete),然后提交(commit),再恢复(revert),则不能再次恢复B.java 文件。

可以看到E:\svnclient\lisi不会会出现B.java

(12)其它命令

命令:

svn info-显示本地或远程条目的信息

svn list-列出版本库目录的条目

svn status-查看当前工作区状态

svn help-获取帮助信息

(13)如何将svn的服务不通过窗口开启,直接注册到计算机的系统服务中

注册Windows系统服务:

sc create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

其中:

SVN-Service:为服务名。

binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\repository\svn":使用svnserve的命令,启动D盘仓库为repository\svn文件夹下的所有服务。

displayname= "SVN-Service":显示的服务名称。

start= auto:自动启动

depend= Tcpip:依赖服务器(固定写法)

其次注意:

sc对选项的格式还有要求,例如―depend= Tcpip‖不能写为―depend = Tcpip‖或―depend=Tcpip‖,也就是―=‖前不能有空格,而后面必须有空格。

可以在电脑的服务项中看到我们创建的服务。并且启动我们的服务。svn服务器就起来了。

附加:删除服务的命令

sc delete "服务名" (如果服务名中间有空格,就需要前后加引号),服务名称可以在服务的属性里找到,不要将服务名称误认为显示名称。

注意:如果是win7系统,必须以管理员的身份运行才能注册系统服务三:安装TortoiseSVN客户端

安装文件:

按照路径安装即可。

安装成功,需要重新启动服务器,可以在桌面点击右键,看到。

(1)使用图形界面完成以上的工作

(2)创建svn数据仓库

(3)客户端从服务器端检出文件

使用Check Out命令与服务器取得连接,同时获取服务器上的代码。

出现:

(4)客户端将文件纳入版本控制:

(5)客户端提交文件

注意:要修改itcastPic仓库下的conf文件,将anno-access = write,即匿名用户为可写。

这回就可以提交了。

但是项目开发中不能总是用匿名用户啊?应该指定用户和权限,操作svn服务器的仓库。应该怎么办呢?

【1】:这里要修改svnserve.conf文件,内容如下:

其中:

anno-access = none:表示不再使用匿名用户登录。

auth-access = write:表示指定用户并授权登录,并对仓库可写

password-db = passwd:passwd表示同级目录下的文件passwd生效,由它来指定svn的用

authz-db = authz:authz表示同级目录下的文件authz生效,由它来指定svn的权限

注意:这个文件要求的格式很严格,必须要顶格写。

【2】:这里要修改passw文件,内容如下:

其中:

设置3个用户zhangsan,lisi,wangwu,密码都是123

【3】:这里要修改authz文件,内容如下:

其中:

itcastGroup = zhangsan,lisi:表示定义一个组,zhangsan和lisi是组里面的成员。

[/]:由于svn服务器的权限是针对于目录路径的,/表示根目录路径,即可以访问服务器下所有包下的文件。

@itca stGroup = rw:表示定义一个组,其中的权限为读写,这里定义组一定要加@,否则svn 会认识是定义一个普通的用户。

wangwu = rw:表示定义一个用户wangwu,其中的权限为读写。

* =:*表示除了用户组定义的用户(zhangsan、lisi)以及单个用户(wangwu)之外的其他用户,他们没有任何的操作权限。

提交文件时:可以看见需要指定用户名和密码,并点击OK完成提交。

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实践教程

针对原文做了两个修改,见文中【修改】部分,不然不能正确配置服务器,并且添加了一些注释(flywen 2010-9-28) 原文出处: https://www.wendangku.net/doc/8312027561.html,/ttzhang/archive/2008/11/03/1325102.html https://www.wendangku.net/doc/8312027561.html,/ttzhang/archive/2008/11/04/1325940.html 文章版权归原作者Forrest Zhang所有。 一、VisualSVN Server的配置和使用方法【服务器端】 1.1 VisualSVN Server的安装 最新版本是1.6.1,你可以在这里下载: https://www.wendangku.net/doc/8312027561.html,/files/VisualSVN-Server-1.6.1.msi VisualSVN Server,最新更新版本是1.6.2,你可以在这里下载: https://www.wendangku.net/doc/8312027561.html,/files/VisualSVN-Server-1.6.2.msi VisualSVN Server Documentation下载: https://www.wendangku.net/doc/8312027561.html,/server/doc/VisualSVN-Server.pdf 下载后,运行VisualSVN-Serv er-1.6.1.msi程序,点击Next,下面的截图顺序即为安装步骤: 图1:

图2: 注意:Server Port那里,默认端口有80/81/8080三个;如果最后面的CheckBox被选中,则表示使用安全连接【https协议】,这是的端口只有433/8433二个可用。Location 是服务器端的安装位置,Repositories是代码仓库,这里保留一份总的代码,别人的需要从中check out代码,修改后再commit回这个仓库 图3:

TortoiseSVN使用说明书(超详细)

一、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怎么使用

SVN怎么使用 1、在你硬盘上创建一个文件夹来放置你需要的项目。。。 2、在文件夹上右键选择check out。。。 3、然后输入你在SVN服务器上项目的URL地址: 4、输入正确的URL以后就点击OK。。。SVN客户端将会从服务器上拷贝源代码到你的电脑上。 5、这时候你可以将你的项目源代码文件进行编辑。。。修改后文件在SVN上显示的图标将会有红色感叹号。。。这时候你修改完文件是,可以右键点击该文件,选择SVN Commit 就可以向服务器提交你修改后的文件。。。 提问人的追问 2009-09-11 13:48 我想创建我自己的项目呢, 就是把我的项目方到服务器上去, 回答人的补充 2009-09-11 14:10

1. 进入https://www.wendangku.net/doc/8312027561.html,/用Google帐户登录(推荐使用gmail邮箱)。然后点 击>Project Hosting 2. 进入>> https://www.wendangku.net/doc/8312027561.html,/hosting/然后点击>Create a new project 3. 填入信息: 写入项目名,描述,两个选择项,写入标签,点击确定。就可以了 4. 提交成功后,选择菜单的Source(其中有https上传协议路径需要拷贝一份,还有一个上传密码)。 5. 打开MyEclipse,打开需要上传的项目,点鼠标右键->team->share Project->svn,写入https路径,下一步,输入Google账号和上传密码,起个名,finish。 6.如果一切顺利,会自动生成一个项目目录,可以查看所有项目文件。然后进入搭建项目界面,点鼠标右键->team->commit。然后开始上传项目。 7,搭建完成。 8.如果想查看自己的项目,可以用浏览器登陆https的路径,输入Google账号和上传密码,如果成功就可以看到含有项目名称的目录。

svn的使用-更新

Svn是一个版本控制软件,可以使得我们项目组协同工作,每个人都必须使用这个工具来保证我们机器上的程序是最新和可追溯的,并且是同步的。 下面介绍如何使用这个软件。 一、安装软件 1.TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi https://www.wendangku.net/doc/8312027561.html,nguagePack_1.6.15.21042-win32-zh_CN.msi 安装过程和一般的软件没有区别,按提示进行重启。 二、使用步骤 1.安装完软件后,找一个目录,右键点击,如下图选择 点击setings,出现下图,将语言修改成中文简体,确定后界面语言就变成中文。

2.上述软件安装完成后,第一步要签出我们对应的项目,有两个一个php项目,一个.net 项目。下面以php项目组为例 3.新建一个目录或者将原来放php源代码的目录清空。然后右键这个目录,选择svn检出, 如下图 点击后出现下图

4.在版本库url中输入:svn://210.34.148.24/php,如果是net小组则输入: svn://210.34.148.24/net,其余就默认,点击确认,按要求输入用户名和密码,用户名密码我后面会给出。 5.用户名和密码是每个人的拼音的一个字母,如王伟琪的用户名密码就都是:wwq 6.此时出现下图 Svn将服务器上的代码和文档传输到你的本机,在你刚才所建的目录中就是最新代码。 7.打开刚才你建的目录,会看到文件夹和文件的图标改变了,如下图

8.这就是签出(check out)功能, 9.其他常见功能请参考https://www.wendangku.net/doc/8312027561.html,/tsvn/1.5/tsvn-dug.html 这些是日常使用指南,不需要全部看完,只需看到“撤销更改”这一小节。 忽略已经版本控制的文件 如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作。 如果你还没有提交,你只需要TortoiseSVN → Revert...来取消添加,你需要将这个文件添加到忽略列表,这样它们才不会被再次误添加近来。 如果文件已经存在于版本库,你需要做更多的工作。 1.用Shift键获得扩展上下文菜单(即按住shift键,然后右键点击这些文 件),使用 TortoiseSVN →删除(保留版本副本) 标记文件/目录从版本库删除,但是保留版本副本。 2.TortoiseSVN →提交父目录。 3.将文件/目录增加到忽略列表,所以你不会再遇到同样的麻烦 另 这是一个更简单但不是很详细的教程。大家也可以试试看。 https://www.wendangku.net/doc/8312027561.html,/?action-viewnews-itemid-1%C2%A0%C2%A0

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)

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.wendangku.net/doc/8312027561.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-高级应用使用指南

文档规则 [本地工作区] :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库的权限设置设定为只读权限。如果公用模块确实需要针对[主项目]进行个性化修改,这种情况的处理方法在此次讲座的后面将会谈到。

SVN管理规范方案

Subversion管理规范 一Subversion介绍 Subversion (Subversion)是一个时间机器,随时记录文件和目录的每次改动,例如:文件的增加、删除、重新排列文件等。同时SUBVERSION允许你恢复以前旧版本的数据,或者检查数据变化的历史。 SVN使用类似数据库事物的方式来处理用户提交入库的过程,整个改动要么成功的被提交,要么被中断并回滚。在数据提交完之前,其他人是看不到用户提交的修改文件,你看到的要么是改动之前的状态,要么是改动之后的状态。这样的行为被称为“原子提交”。原子提交很有用,因为它能保证所有相关人员看到的总是相同的东西。原子提交过程的其中一步就是包括把你的所有改动打包为

一个“修订集”(有时被称为改动集),并且再给个改动标记的修订号(绿色勾变为红色叹号)。 图 1 图1总体概括了SVN 整个操作过程:首先用户从版本库通过网络“检出”到本地工作副本中,然后,在本地工作副本中进行增加、修改、删除文件后“提交”到版本库中,如果本地工作副本中版本较系统版本过时,用户使用“更新”功能与系统上版本保持一致。 二 Subversion 的目录结构 每个SVN 版本库下需要有trunk(可用项目名做目录名)、branches 及tags 目录,trunk 表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。branches 表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。tags 表示保存测试无问题的发布版本,不可修改。branches/tags 命名规则:项目名[_说明]_版本号。 在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy 到branches 上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches 上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug ,则只要在branches 上修改该bug ,修改完bug 后再编译branches 上最新的代码发布到生产环境即可。tags 的作用是将在branches 上修改的bug 的代码合并到trank 上时创建个版本标识,以后branches 上修改的bug 代码再合并到trunk 上时就从tags 的version 到branches ,最新的version 合并到trunk ,以保证前期修改的bug 代码不会在合并。 版本库 本地工作副本

SVN使用手册大全(史上最全)

目录 1.修改SVN访问密码 (1) 2.SVN客户端使用说明 (2) 2.1.安装SVN客户端 (2) 2.2.迁出配置库内容 (3) 2.3.维护工作文件 (4) 2.3.1.增加文件 (4) 2.3.2.更新文件 (8) 2.3.3.删除文件 (9) 2.3.4.修改文件 (10) 2.3.5.比较版本差异 (10) 2.3.6.撤销更改 (13) 2.3.7.锁定和解锁 (13) 2.3.8.重命名文件 (14) 2.3.9.获取历史文件 (14) 2.3.10.检查冲突 (15) 2.3.11.解决冲突 (16) 2.3.12.忽略无需版本控制的文件 (16) 2.3.13.去除SVN标志 (17) 2.3.14.查看文件每行的修改信息 (17) 2.3.15.重置访问路径 (18) 2.3.16.本地路径转换 (18) 2.4.浏览版本库 (18) 2.5.建立标签 (19) 2.6.建立分支 (19) 2.7.清除用户名等信息 (20) 2.8.统计信息 (21) 3.MYECLIPSE集成SVN (23) 3.1.安装SVN插件 (23) 3.2.配置M Y E CLIPSE提交目录 (28)

1. 修改SVN访问密码 打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示: 点击“登陆”按钮进入登陆界面,如下图所示: 输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示: 点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:

SVN管理管理规范

1.使用注意事项 负责而谨慎地提交自己的代码(先更新后提交) SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交。 如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。 如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。 保持原子性的提交 每次提交的间歇尽可能地短,以一个小时,两个小时的开发工作为宜。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug 的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。 不要提交自动生成的文件 Visual Studio在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,这些文件在提交的时候不应该签入,如果不小心签入了,需要使用Delete 命令从仓库中删除。这个可以使用SVN过滤功能,在设置里面设置ignore lists. 不要提交不能通过编译的代码 代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库或者没有放入GAC(针对.Net Framework)中,项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。 不要提交自己不明白的代码 代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。提前宣布自己的工作计划 在自己准备开始进行某项功能的修改之前,先给工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。 对提交的信息采用明晰的标注 +) 表示增加了功能 *) 表示对某些功能进行了更改 -) 表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽。 b) 表示修正了具体的某个bug

svn项目管理

目录划分 Trunk:存放项目代码的基线 Tags:暂时不用 Branches:存放各种代码分支。 ●DevBranche放开发分支 ●TestBranche放测试分支 ●ReleaseBranche放发布分支 Document:存放每个版本产生的文档。其中每个版本分为几个阶段: ●项目计划:存放该版本的任务安排的相关事宜。 ●需求分析:存放该版本的相关需求文档,及对需求分析的相关产出。 ●开发阶段:存放在开发代码过程中的相关产出。如SQL ●测试阶段:存放在测试阶段应该具备的产出文档。如测试用例。 ●发布阶段:存放发布阶段具备的文档。如发布手册

分支管理流程 开发过程中,一般采用版本迭代,并行开发的模式。理由如下: 1.为了能够适应需求快速上线 2.及时修复线上生产环境的bug 3.快速响应紧急需求 根据以上的背景及目的,对并行版本的分支管理如下 1.在时间A点打出dev-version-01分支 2.在时间B点打出dev-version-02分支 3.随着dev-version-01版本的任务的遂一交付,分别在A-01,A-02打出test分支进行测试 4.当版本的bug全部解决完后,测试结束,则打出realese版本进行版本发布 5.版本发布结束后,当线上环境验收完毕后,需要把该开发分支的代码合并入trunk。并 通知其余各分支从trunk合并到各开发分支。 版本命名 一般版本管理中会出现几种情况:正常版本,bug修复版,紧急需求版。针对不同情况版本的命名可如下: 正常情况下的版本命名:ms_项目名_版本号。如ms_care_2014.01 bug修复版版本命名:ms_项目名_版本号-序号。如ms_care_2014.01-01 紧急需求版:由于紧急需求一般会跟bug修复版一起发布,命名可同上 分支合并方式 分支合并至trunk:

svn迁移/用户管理

一,SVN迁移 准备工作 1,apache_2.0.63-win32-x86-no_ssl.msi 2,TortoiseSVN-1.3.5.6804-svn-1.3.2.msi 以上文件在192.168.0.141\\d$\\tool文件夹下 迁移步骤 以192.168.0.141为例 1拷贝D:\svnroot\MyProject至目标目录 在C:\Program Files\Apache Group\Apache2\conf\httpd.conf173行增加如下代码 LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so" LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so" 在858行增加 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so DAV svn SVNPath D:/svnroot/MyProject(目标目录) AuthzSVNAccessFile D:/svnroot/MyProject/conf/access.auth Satisfy Any Require valid-user AuthType Basic AuthName "Subversion repositories" AuthUserFile D:/svnroot/MyProject/conf/users.auth Require valid-user 二,Svn增加 桌面add.bat

svn常用命令详解

一.SVN导出(check out 和export的区别) 1.check out跟check in对应,export跟import对应; 2.check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关 联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。 3.export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行 Update和Commit操作。导出文件夹下没有.svn目录。 二.linux下svn命令大全 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit -m “LogMessage“[-N][--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“test.php 简写:svn ci 4、加锁/解锁 svn lock -m “LockMessage“[--force] PATH 例如:svn lock -m “lock test file“test.php svn unlock PATH 5、更新到某个版本 svn update -r m path 例如: svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 svn update -r 200 test.php(将版本库中的文件test.php还原到版本200) svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 简写:svn up 6、查看文件或者目录状态 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 2)svn status -v path(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改

中国SVN源代码托管中心_svn_使用教程

中国SVN源代码托管中心- https://www.wendangku.net/doc/8312027561.html, 使用帮助文档 让我们从零开始,Step By Step地尝试使用Svn Hosting及Subverson这个超级工具来革新我们的开发流程。 第一步,注册帐号并新建项目 1. 首先你需要先注册一个Svn Hosting的帐号并成功激活; 2. 登录后,点击“我的项目”,在里面新建一个项目; 3. 新建成功后,点击该项目的详细页,复制“SVN地址”的链接。 第二步,checkout 1. 下载和安装SVN的客户端TortoiseSVN,安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。

2. 从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN 的菜单项。选择SVN Checkout,如下图示:

3. 填写源代码的SVN路径和本地文件夹。就是刚刚你在Svn Hosting上新建的那个项目,复制下来的那个地址。 例如,源代码路径是https://www.wendangku.net/doc/8312027561.html,/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。

4. 然后他会提示你输入帐户,密码,将你在SVN Hosting注册的帐号和密码填上就OK。 第三步,把你的程序源码放入源码库 1. 你是不是发现checkout下来的目录空空如也,如果你打开这个目录,你会发现除了一个.svn的隐藏目录,空空如也。是的,这是正常的。.svn 目录用来记录你所有的操作记录,以一种不可思议的纪录方式。 图4:checkout finished后

svn管理规范,华为

竭诚为您提供优质文档/双击可除 svn管理规范,华为 篇一:svn管理规范 安生sVn管理规范 第一章总则 第一条目的 通过对具备sVn管理权限的员工进行sVn规范的落实工作,促使员工不断改善工作效率,规范操作过程,从而提高公司对sVn仓库的合理、充分、高效利用的能力。 第二条适用范围 本制度适用于浙江安生信息科技有限公司(以下简称“公司”)及下属子分公司全体员工。 第三条责任说明 对于公司离职的员工,原则上由其所在部门具备sVn管理系统管理权限人员负责清除权限,同时人事行政部必须及时通知离职员工所在部门具备sVn管理系统管理权限人员(通常为部门主管)的权限清除工作。 第二章细则 第一条库管理

1,公司的所有sVn仓库(包括杭州)将整合在统一的sVn服务器上。2,公司历史迁移库在访问uRl中以“svn-past”标记,新建库在访问uRl中以“svn”标记。 第二条权限下放原则 1,由具备系统管理员权限(可配置)的管理人员分配库管理员。2,库管理员允许多个,通常将库管理员赋给对应于某库的项目经理。3,项目经理具备分配拥有项目(对应于某库)的人员以及权限的能力。3,sVn访问时统一将 ip替换为“https://www.wendangku.net/doc/8312027561.html,”,端口为90。 第三条目录规范 1,按业务领域创建库,再按区域和平台性质划分分支目录,在分支目录下管理开发分支(适用于开发部)。 2,所有新建仓库默认结构为: --branches--tags--trunk各目录下的所有子目录均不允许出现trunk、tags、branches。3,开发分支命名规范:年月日-时分秒-编号,如“20xx1223-000000-001”。4,标签命名规范:年月日-时分秒-release-编号,如 “20xx1223-000000-release-001”。 第四条其他约束 1,对于仓库目录结构的操作,一律通过sVn管理系统进行,禁止使用eclipse5,编号为branches或则tags下已存在目录数量加1的结果。svn插件或则tortoisesVn客户

TortoiseSVN中文使用教程

SVN简明使用手册 目录 SVN简明使用手册 (1) 1关于TortoiseSVN (2) 2基本操作 (2) 2.1建立项目文件 (2) 2.2在TortoiseSVN下进行开发 (4) 3 附录 (11) 3.1 SVN各种图标的含义 (11) 3.2 CVS项目转换到SVN (12) 33参考文档 (19)

SVN视频教程下载:https://www.wendangku.net/doc/8312027561.html,/video/ 1关于TortoiseSVN TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央的repository,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion和版本控制系统看作一种“时间机器”。某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性- 比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。 该使用手册主要针对使用客户端的程序员,目的是使我们WEB Team能够快速掌握新的版本控制软件的使用。提高开发效率。 2基本操作 2.1建立项目文件 在本地PC硬盘上新建一个文件夹,并重新命名。下载假设该文件夹名为WORK,对该文件夹点击鼠标右键,鼠标移动到T ortoiseSVN选项上,然后选取CHECK OUT选项,如图:

SVN管理规范

1、目的: 本制度为研发部SVN配置管理的准则和依据,所有与SVN配置管理的行为都必须遵照并服从于本制度。 2、适用范围: 本制度适用于研发部全体员工。 3、控制要求和方法: 3.1 操作流程 首先用户从svn版本库通过网络“检出”到本地工作副本中,然后,在本地工作副本中进行增加、修改、删除文件后“提交”到版本库中,如果本地工作副本中版本较系统版本过时,用户使用“更新”功能与系统上版本保持一致。 3.2 帐号注册、权限申请 1. 用户帐号注册:新进员工没有SVN帐号,通过联系SVN管理员,注明申请SVN普 通帐号,管理员处理完帐号注册事宜后,通知使用并介绍使用规范。 注:普通帐号,只对目录有读取权限,无法更改。 2. 权限的申请:根据员工所参与的项目,SVN管理员对其开放相应目录的读、写权限。 3. 账号注销:员工离职后,对其账号进行注销。 3.3 操作规范 1. 每日进行开发工作之前更新代码,下班时提交代码。 2. 各员工需牢记各自的账户和密码,不得向他人透漏,严禁使用他人账户进行SVN各项操作。

3. 不要签出整个目录,除非特别必要,不应同时签出过多的项目。 4. 文件提交时要求必须提交注释,注明相关修改信息,日志信息描述的越详细越好,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。 5. 代码变动及时提交,避免丢失本地修改后无法恢复。 6. 在提交之前要编译代码并修正错误。要保证新增加的文件同时被提交,否则只在你本地能正常工作,导致其它人不能编译通过。 7. 提交之前要测试所改变的应用,测试改变后的效果是否达到预期的目的。 8. 多次检查提交的内容。提交之前应先做SVN更新或与资源库同步,注意到SVN关于冲突、错误的信息。资源库同步会告诉你将要提交的内容与资源库内容之间的差别,确认它们是不是你真正想要提交的。 9. 如果别人和自己更改的是同一个文件,那么Update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。 10. 在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错。 11. 提前宣布修改计划。当你计划进行修改,需要影响到SVN里的许多文件时,先通过邮件或者当面通知其他开发者。例如,修改底层数据库模块时,有可能影响到业务逻辑层调用数据库模块的地方。这样其他开发者会有准备,也会对修改提出意见和建议。 12. 每次提交尽量是一个最小粒度的修改。比如一个小功能提交一次。 13. 不要提交不能通过编译的代码。代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。 14. 提交时注意不要提交本地自动生成的文件,提交的文件必须是开发者共用的程序文件,程序编译中产生的中间文件或文件夹,如/Debug/、/Release/、*.ncb、*.obj、*.o、Thumbs.db、/build/、*.class、/classes/、/data/等不要提交到SVN里。 15. SVN管理员需对SVN的所有项目定期备份。 16. SVN的资料不允许公开给其他部门人员,确实要分发的,必须通过总经理同意。 重要说明文件要求: 硬件开发:

SVN权限控制

权限配置 作为一个配置管理员,需要管理用户的权限,本文主要介绍了使用Subversion的授权文件“authz-db”,同时为了叙述的清晰,我首先澄清一些概念。 1. 认证(Authentication)和授权(Authorization) 这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。 2. svnserve下的配置文件 因为本文是以svnserve为例的,所以先介绍一下版本库目录的结构: D:\SVNROOT\PROJECT1 ├─conf ├─dav ├─db │ ├─revprops │ ├─revs │ └─transactions ├─hooks └─locks 其中conf下面有三个文件: authz passwd svnserve.conf

其中的“svnserve.conf”是这个版本库的配置文件,当使用svnserve时,这个配置文件决定了使用什么认证和授权文件: password-db = passwd authz-db = authz 上面的配置说明使用“svnserve.conf”同目录的passwd和authz,其中的password-db指定了用户密码文件,authz-db是我们的授权文件,也就是我们本文主要介绍的文件。 3. 基于svnserve的版本库文件布局 使用svnserve时,为了管理的方便,应该使用相同的认证和授权文件,所以应该让所有版本库的配置文件svnserve.conf指向同一个password-db和authz-db文件。下面是一个多版本库的目录: D:\SVNROOT ├─project1 │ ├─conf │ ├─dav │ ├─db │ │ ├─revprops │ │ ├─revs │ │ └─transactions │ ├─hooks │ └─locks └─project2 ├─conf ├─dav

相关文档