当前位置:文档之家› 本项目svn使用快速入门

本项目svn使用快速入门

本项目svn使用快速入门
本项目svn使用快速入门

项目导入(项目初始化) (3)

1、安装。。。AnkhSvn-2.0.6347.433vs开发客户端。成功后文件菜

单下就会出现sub。。。。。 (3)

2、项目框架导入svn (3)

3、输入对应的链接串(svn://117.40.28.171)注意一般会添加主

线(trunk)选上那个多选框,点击ok后就会要求输入用户名密码。

(4)

4、刚刚只是准备上传文件,并没有真正的把文件上传co。。才

真正的上传了文件 (4)

项目下载(程序员使用) (5)

1、导出svn中的项目 (5)

2、输入正确的链接串,打开项目 (5)

3、选择好本机存储路径(添加分支和标签暂时还用不到)一般

添加到解决方案。不要添加到具体的项目。 (6)

4、提交修改(一般提交整个解决方案,那样方便) (7)

5、下载svn库最新版本(update) (7)

6、所有的本地改动都可以通过页面改变窗口来看。 (8)

7、在此窗口可以看到所有的改变,也可以提交和更新。注意提交

前一定要写入修改日志 (8)

冲突解决 (9)

1、当本地库的版本低于svn库时,提交会出现冲突 (9)

2、首先update一下。当当前修改的与svn库的最新版本在同一

行或同一代码快时如下,需要手动修改两处的代码。 (9)

3、提交之前必须要删除三个文件。先找到本地项目的地址删除下面几个文件就行,目前只能去找目录,如果vs可以查看所有文件就可以方便点。 (9)

Svn服务器已经被设置登入后有读写权限,所以下面的操作要填写用户名,密码。让系统记住密码会方便点

修改代码前首先update下,下载svn库最新版本。代码修改完毕或下班前提交代码。注意要写日志。

项目导入(项目初始化)

1、安装。。。AnkhSvn-2.0.6347.433vs开发客户端。成功后文件菜单下就会出现sub。。。。。

Eclipse安装对应的插件就行

2、项目框架导入svn

点击ok后就会要求输入用户名密码。

4、刚刚只是准备上传文件,并没有真正的把文件上传co。。才真正的上传了文件

1、导出svn中的项目

2、输入正确的链接串,打开项目

3、选择好本机存储路径(添加分支和标签暂时还用不到)一般添加到解决方案。不要添加到具体的项目。

添加类库

修改代码(图标发生改变)

4、提交修改(一般提交整个解决方案,那样方便)

5、下载svn库最新版本(update)

6、所有的本地改动都可以通过页面改变窗口来看。

7、在此窗口可以看到所有的改变,也可以提交和更新。注意提交前一定要写入修改日志

冲突解决

1、当本地库的版本低于svn库时,提交会出现冲突

2、首先update一下。当当前修改的与svn库的最新版本在同一行或同一代码快时如下,需要手动修改两处的代码。

提交时报错

3、提交之前必须要删除三个文件。先找到本地项目的地址删除下面几个文件就行,点击显示所有文件也可以显示,然后删除。

Svn .net项目.必须带有类库的工程,否则会导入不上去

在实际的使用中,由于项目的目录本身就是作为版本库的一个部分被svn所收管,所以我们无法利用服务器操作系统的访问权限,来实现项目目录的访问控制。因此,这个问题就只有让svn自己来解决了。

1.3以前的Subversion,只能利用mod_authz_svn.so 模块,结合Apache服务器来实现目录访问控制,这对Apache的配置与使用不是很熟悉的人来说(比如说作者本人)就不是很方便了。而Subversion终于在 1.3 版本上,在svnserve.exe 服务器里面添加了这一功能。本文就是介绍如何配置代码库配置文件,以便让svnserve.exe 实现精细的目录访问权限控制。

本文面向那些Subversion的管理员,或者任何对Subversoin有兴趣的人们。本文假定读者对Subversion有一定的了解,因此不打算对所有涉及到的安装、使用,做一个细节性的描述。若对于文章中描述的技术细节有疑问,请访问“参考”一节里面的参考资料。如果你对本文任何地方有什么意见,请联系zhengxinxing gmail com 。

本文是利用reST 格式来编写的,如果你对它感兴趣,请访问https://www.doczj.com/doc/b3333496.html,/rst.html

实战

====

首先先简要说明一下配置的步骤,如果你觉得对配置有什么疑问,或者看不懂,请不要着急,我会在后面的章节详细描述的。

背景假设

--------

厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。

- svn服务器相关信息

- 服务器地址:192.168.0.1

- 服务器OS:MS Windows 2000 Server Edition 中文版

- 代码库本地目录:``D:\svn\arm``

- arm部门文档的目录结构如下::

arm 部门名称

├─diary 工作日志目录

│├─headquarters 总部工作日志目录

│├─beijing 北京办日志目录

│└─shanghai 上海办日志目录

├─ref 公司公共文件参考目录

└─temp 临时文件目录

- 人员情况

- morson,公司总经理,其实他不必亲自看任何东西,就连部门经理们的每周总结都不一定看。但是为了表示对他的尊敬,以及满足一下他的权力欲,还是给他开放了“阅读所有文档”的权限

- michael,arm事业部的部门经理,要可以看到所有人的工作日志

- scofield,北京办人员,老员工,为人油滑难管

- lincon,上海办人员,老员工,大老实人一个

- tchwu,新手,总部协调员、秘书,文笔不错

- rory,单片机技术员,技术支持

- 访问权限需求分析

- 除部门经理外,所有其他人员,均只能看到本办事处人员工作日志

- 不允许匿名访问

- ref目录只允许经理和秘书写,对其他人只读

- temp目录人人都可以写

建立代码库

----------

在服务器D:\svn 目录下,建立arm 代码库,命令如下::

D:\svn>svnadmin create arm

在客户机F:\temp 目录下,建立好上述目录结构

用命令``F:\temp>svn import arm svn://192.168.0.1/arm`` 导入结构

【注意点:关于导入时候的细微差别】

编辑代码库配置文件

------------------

编辑代码库``arm\conf\svnserve.conf`` 文件,如下::

[general]

password-db = passwd.conf

anon-access = none

auth-access = write

authz-db = authz.conf

管理用户帐号

------------

新建代码库``arm\conf\passwd.conf`` 文件,如下::

[users]

morson = ShowMeTheMoney

michael = mysecretpassword

scofield = hellolittilekiller

lincon = asyouknows111

rory = 8809117

tchwu = pppPp123

建立目录访问权限控制文件

------------------------

新建代码库``arm\conf\authz.conf`` 文件,内容如下::

[groups]

g_vip = morson

g_manager = michael

g_beijing = scofield

g_shanghai = lincon

g_headquarters = rory, tchwu

g_docs = tchwu

[arm:/]

@g_manager = rw

* = r

[arm:/diary/headquarters]

@g_manager = rw

@g_headquarters = rw

@g_vip = r

* =

[arm:/diary/beijing]

@g_manager = rw

@g_beijing = rw

@g_vip = r

* =

[arm:/diary/shanghai]

@g_manager = rw

@g_shanghai = rw

@g_vip = r

* =

[arm:/ref]

@g_manager = rw

@g_docs = rw

* = r

[arm:/temp]

* = rw

测试

----

在服务器上,打开一个DOS Prompt 窗口,输入如下指令::

svn co svn://127.0.0.1/arm --no-auth-cache --username rory --password 8809117

我们应该得到如下目录结构::

arm

├─diary

│└─headquarters

├─ref

└─temp

然后修改ref目录下任意文件并提交,服务器将会报错“Access deni”

深入

====

本章将详细介绍前一章所涉及的两个配置文件,svnserve.conf 和authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。

这里首先要注意一点,任何配置文件的有效配置行,都不允许存在前置空格,否则程序会无法识别。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。当然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助呢。

其次,任何有效的配置项,都请使用ASCII码来表达。由于Subversion 天生对中文的支持力度不够,你如果想要使用中文用户名、中文文件目录等,你会很郁闷的发现,它们无法正常工作。希望到了Subversion 2.0 的版本,可以支持中文。

svnserve.conf

-------------

``arm\conf\svnserve.conf`` 文件,是svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。

首先,我们告诉svnserve.exe,用户名与密码放在passwd.conf 文件下。当然,你可以改成任意的有效文件名,比如默认的就是passwd::

password-db = passwd.conf

接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在passwd.conf 文件里面持有用户名密码的家伙。这两行的等号后面,目前只允许read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件::

anon-access = none

auth-access = write

接下来就是最关键的一句呢,它告诉svnserve.exe,项目目录访问权限的相关配置是放在authz.conf 文件里::

authz-db = authz.conf

当然,svn 1.3.2 引入本功能的时候,系统默认使用authz 而不是authz.conf 作为配置文件。不过由于鄙人是处女座的,有着强烈的完美主义情结,看着svnserve.conf 有后缀而passwd 和authz 没有就是不爽,硬是要改了。

authz.conf 分组

---------------

``arm\conf\authz.conf`` 文件的配置段,可以分为两类,``[group]`` 是一类,里面放置着所有用户分组信息。其余以``[arm:/]`` 开头的是另外一类,每一段就是对应着项目的一个目录,其目录相关权限,就在此段内设置。

首先,我们将人员分组管理,以便以后由于人员变动而需要重新设置权限时候,尽量少改动东西。我们一共设置了5个用户分组,分组名称统一采用``g_`` 前缀,以方便识别。当然了,分组成员之间采用逗号隔开::

[groups]

# 任何想要查看所有文档的非本部门人士

g_vip = morson

# 经理

g_manager = michael

# 北京办人员

g_beijing = scofield

# 上海办人员

g_shanghai = lincon

# 总部一般员工

g_headquarters = rory, tchwu

# 小秘,撰写文档

g_docs = tchwu

注意到没有,tchwu 这个帐号同时存在“总部”和“文档员”两个分组里面,这可不是我老眼昏花写错了,是因为svnserve.exe 允许我这样设置。它意味着,这个家伙所拥有的权限,将会比他的同事rory 要多一些,这样的确很方便。具体多了哪些呢?请往下看!

authz.conf 项目根目录

---------------------

接着,我们对项目根目录做了限制,该目录只允许arm事业部的经理才能修改,其他人都只能眼巴巴的看着::

[arm:/]

@g_manager = rw

* = r

- ``[arm:/]`` 表示这个目录结构的相对根节点,或者说是arm 项目的根目录

- 这里的``@`` 表示接下来的是一个组名,不是用户名。你当然也可以将``@g_manager = rw`` 这一行替换成``michael = rw`` ,而表达的意义完全一样。

- ``*`` 表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”,当然也包括总经理那个怪老头

- ``* = r`` 则表示“那些人只能读,不能写”

authz.conf 项目子目录

---------------------

然后,我们要给总部人员开放日志目录的读写权限::

[arm:/diary/headquarters]

@g_manager = rw

@g_headquarters = rw

@g_vip = r

* =

- 我敢打赌,设计svn的家伙们,大部分都是在unix/linux 平台下工作,所以他们总喜欢使用``/`` 来标识子目录,而完全忽视在MS Windows 下是用``\`` 来做同样的事情。所以这儿,为了表示``arm\diary\headquarters`` 这个目录,我们必须使用``[arm:/diary/headquarters]`` 这样的格式。

- 这里最后一行的``* =`` 表示,除了经理、总部人员、特别人士之外,任何人都被禁止访问本目录。

- 之所以这儿需要将``@g_vip = r`` 一句加上,就是因为存在上述这个解释。如果说你没有明确地给总经理授予读的权力,则他会和其他人一样,被``*`` 给排除在外。

- 请注意这儿,我们并没有给``arm\diary`` 目录设置权限,就直接跳到其子目录下进行设置了。我当然是故意这样的,因为我想在这儿引入“继承”的概念。

- **权限具备继承性** 任何子目录,均可继承其父目录的所有权限,除非它自己被明确设置了其他的权限。也就是说,在arm 目录设置权限后,``arm\diary`` 目录没有进行设置,就意味着它的权限与arm 目录一样,都是只有经理才有权读写,其他人只能干瞪眼。

- 【行是否具备顺序???】【* =是否可以省略】【用例子引入覆盖】

现在来看看

好了,我们现在掌握了“继承”的威力,它让我们节省了不少敲键盘的时间。可是现在又有一个问题了,

属性具备覆盖性质

子目录若设置了属性,则完全覆盖父目录.

authz.conf 其他注意点

---------------------

1. 父目录的``r`` 权限,对子目录``w`` 权限的影响

另外,在1.3.1及其以前的版本里面,有个bug,即为了子目录的写权限,项目首目录必须具备读权限。因此现在,就方便了那些想在一个代码库存放多个相互独立的项目的管理员,来分配权限了。比如说央舜公司建立一个大的代码库用于存放所有员工日志,叫做diary,而arm事业部只是其中一个部门,则可以这样做

[diary:/]

@g_chief_manager = rw

[diary:/arm]

@g_arm_manager = rw

@g_arm = r

这样,对于所有arm事业部的人员来说,就可以将svn://192.168.0.1/diary/arm 这个URL当作根目录来进行日常操作,而完全不管它其实只是一个子目录,并且当有少数好奇心比较强的人想试着checkout 一下svn://192.168.0.1/diary 的时候,马上就会得到一个警告“Access deni”,哇,太酷了。

2. 默认权限

在没有进行任何设置的时候,默认权限就是禁止任何访问,只有显示开启某项权限,才能使用它这整个儿的策略,看起来,就像防火墙设置一样的了,难怪我总觉得有些眼熟.

3. 只读权限

若设置了

[arm:/diary]

* = r

则svnserve认为,任何人,都不允许改动diary目录,包括删除和改名,和新增

也就是说,如果你在项目初期忘记写错目录名称(比如写成dairy),以后除非你改动这个设置,否则无法利用svn mv 命令将错误的目录更正.

深入

====

本章将详细介绍前一章所涉及的两个配置文件,svnserve.conf 和authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。除此之外的其他配置、安装等内容,不是本文重点,读者若有什么疑问,请参考后面“参考文献”中列出的一些文档。

这里首先要注意一点,任何配置文件的有效配置行,都**不允许存在前置空格** ,否则程序可能会出错,给你一个``Option expected`` 的提示。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。当

然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助。

svnserve.conf

-------------

``arm\conf\svnserve.conf`` 文件,是svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。

首先,我们告诉svnserve.exe,用户名与密码放在passwd.conf 文件下。当然,你可以改成任意的有效文件名,比如默认的就是passwd::

password-db = passwd.conf

接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在passwd.conf 文件里面持有用户名密码的家伙。这两行的等号后面,目前只允许read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件::

anon-access = none

auth-access = write

接下来就是最关键的一句呢,它告诉svnserve.exe,项目目录访问权限的相关配置是放在authz.conf 文件里::

authz-db = authz.conf

当然,svn 1.3.2 引入本功能的时候,系统默认使用authz 而不是authz.conf 作为配置文件。不过可能由于鄙人是处女座的,据说有着强烈的完美主义情结,看着svnserve.conf 有后缀而passwd 和authz 没有就是不爽,硬是要改了。

上述的passwd.conf 和authz.conf 两个文件也可以作为多个代码库共享使用,我们只要将它们放在公共目录下,比如说放在``D:\svn`` 目录下,然后在每个代码库的svnserve.conf 文件中,使用如下语句::

password-db = ..\..\passwd.conf

authz-db = ..\..\authz.conf

或者::

password-db = ../../passwd.conf

authz-db = ../../authz.conf

这样就可以让多个代码库共享同一个用户密码、目录控制配置文件,这在有些情况下是非常方便的。

authz.conf 之用户分组

---------------------

``arm\conf\authz.conf`` 文件的配置段,可以分为两类,``[group]`` 是一类,里面放置着所有用户分组信息。其余以``[arm:/]`` 开头的是另外一类,每一段就是对应着项目的一个目录,其目录相关权限,就在此段内设置。

首先,我们将人员分组管理,以便以后由于人员变动而需要重新设置权限时候,尽量少改动东西。我们一共设置了5个用户分组,分组名称统一采用``g_`` 前缀,以方便识别。当然了,分组成员之间采用逗号隔开::

[groups]

# 任何想要查看所有文档的非本部门人士

g_vip = morson

# 经理

g_manager = michael

# 北京办人员

g_beijing = scofield

# 上海办人员

g_shanghai = lincon

# 总部一般员工

g_headquarters = rory, linda

# 小秘,撰写文档

g_docs = linda

注意到没有,linda 这个帐号同时存在“总部”和“文档员”两个分组里面,这可不是我老眼昏花写错了,是因为Subversion 允许我这样设置。它意味着,这个家伙所拥有的权限,将会比他的同事rory 要多一些,这样的确很方便。具体多了哪些呢?请往下看!

authz.conf 之项目根目录

-----------------------

接着,我们对项目根目录做了限制,该目录只允许arm事业部的经理才能修改,其他人都只能眼巴巴的看着::

[arm:/]

@g_manager = rw

* = r

- ``[arm:/]`` 表示这个目录结构的相对根节点,或者说是arm 项目的根目录。其中的arm 字样,其实就是代码库的名称,即前面用svnadmin create 命令创建出来的那个arm。

- 这里的``@`` 表示接下来的是一个组名,不是用户名。因为目前g_manager 组里面只有一个michael,你当然也可以将``@g_manager = rw`` 这一行替换成``michael = rw`` ,而表达的意义完全一样。

- ``*`` 表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”,当然也包括总经理那个怪老头

- ``* = r`` 则表示“那些人只能读,不能写”

authz.conf 之项目子目录

-----------------------

然后,我们要给总部人员开放日志目录的读写权限::

[arm:/diary/headquarters]

@g_manager = rw

@g_headquarters = rw

@g_vip = r

* =

这个子目录的设置有些特色,因为从需求分析中我们知道,这个子目录的权限范围要比其父目录小,它不允许除指定了的之外其他任何人访问。在这段设置中,我们需要注意以下几点:

- 我敢打赌,设计svn的家伙们,大部分都是在类unix 平台下工作,所以他们总喜欢使用``/`` 来标识子目录,而完全忽视在MS Windows 下是用``\`` 来做同样的事情。所以这儿,为了表示``diary\headquarters`` 这个目录,我们必须使用``[arm:/diary/headquarters]`` 这样的格式。当然如果你一定要用``\`` ,那么唯一的结果就是,Subversion 会将你的这部分设置置之不理,全当没看到。

- 这里最后一行的``* =`` 表示,除了经理、总部人员、特别人士之外,任何人都被禁止访问本目录。这一行是否可以省略呢?不行,因为**权限具备继承性** ,子目录会

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

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.doczj.com/doc/b3333496.html,/用Google帐户登录(推荐使用gmail邮箱)。然后点 击>Project Hosting 2. 进入>> https://www.doczj.com/doc/b3333496.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使用手册版

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, 如下图

项目管理版本控制SVN实践教程

针对原文做了两个修改,见文中【修改】部分,不然不能正确配置服务器,并且添加了一些注释(flywen 2010-9-28) 原文出处: https://www.doczj.com/doc/b3333496.html,/ttzhang/archive/2008/11/03/1325102.html https://www.doczj.com/doc/b3333496.html,/ttzhang/archive/2008/11/04/1325940.html 文章版权归原作者Forrest Zhang所有。 一、VisualSVN Server的配置和使用方法【服务器端】 1.1 VisualSVN Server的安装 最新版本是1.6.1,你可以在这里下载: https://www.doczj.com/doc/b3333496.html,/files/VisualSVN-Server-1.6.1.msi VisualSVN Server,最新更新版本是1.6.2,你可以在这里下载: https://www.doczj.com/doc/b3333496.html,/files/VisualSVN-Server-1.6.2.msi VisualSVN Server Documentation下载: https://www.doczj.com/doc/b3333496.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:

svn的使用-更新

Svn是一个版本控制软件,可以使得我们项目组协同工作,每个人都必须使用这个工具来保证我们机器上的程序是最新和可追溯的,并且是同步的。 下面介绍如何使用这个软件。 一、安装软件 1.TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi https://www.doczj.com/doc/b3333496.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.doczj.com/doc/b3333496.html,/tsvn/1.5/tsvn-dug.html 这些是日常使用指南,不需要全部看完,只需看到“撤销更改”这一小节。 忽略已经版本控制的文件 如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作。 如果你还没有提交,你只需要TortoiseSVN → Revert...来取消添加,你需要将这个文件添加到忽略列表,这样它们才不会被再次误添加近来。 如果文件已经存在于版本库,你需要做更多的工作。 1.用Shift键获得扩展上下文菜单(即按住shift键,然后右键点击这些文 件),使用 TortoiseSVN →删除(保留版本副本) 标记文件/目录从版本库删除,但是保留版本副本。 2.TortoiseSVN →提交父目录。 3.将文件/目录增加到忽略列表,所以你不会再遇到同样的麻烦 另 这是一个更简单但不是很详细的教程。大家也可以试试看。 https://www.doczj.com/doc/b3333496.html,/?action-viewnews-itemid-1%C2%A0%C2%A0

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/b3333496.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项目管理

目录划分 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 管理员使用指南

目录 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_使用教程

中国SVN源代码托管中心- https://www.doczj.com/doc/b3333496.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.doczj.com/doc/b3333496.html,/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。

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

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简易安装手册

项目级SVN简易安装手册 一、安装步骤 假定现有一个名为“project_demo”的项目,项目组有4名成员,其中tswang为项目经理,liling为配置管理员,yangxia和szcao为普通成员,现在要为此项目建立SVN管理环境。 SVN服务器操作系统为Windows XP,4名成员内部局域网环境畅通。服务器可以是单独的一台电脑,也可以直接架设在配置管理员liling的电脑上。 以下安装步骤指的是服务器的架设,普通项目组成员仅需安装TortoiseSVN即可。1、安装SVN服务器端 配置管理员liling在服务器上执行CollabNetSubversion-server-1.6.11-3.win32.exe,除了在svnserve Configuration和Apache Configuration页面修改SVN存放数据的Repository文件夹(下图中选择的文件夹是f:\svn_repos)和Apache的端口(下图中设置端口为8080)外,其它一路next到底。 右键点击“我的电脑”,选属性-高级属性-环境变量-系统变量-path,将SVN的httpd\bin文件夹加入path。

2、安装SVN客户端TortoiseSVN 项目组所有成员(包括服务器上)都需要安装客户端TortoiseSVN。 执行TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.msi,一路next到底,然后重新启动电脑。执行LanguagePack_1.6.8.19260-win32-zh_CN.msi,一路next到底。右键菜单中选择TortoiseSVN-Settings-General-language-中文简体,将TortoiseSVN设置为中文简体。 3、配置Apache 编辑svn安装路径httpd\conf文件夹里的httpd.conf文件: (1)去除“#LoadModule dav_fs_module modules/mod_dav_fs.so”前面的“#”; (2)在LoadModule区域的末尾增加一行: LoadModule authz_svn_module modules/mod_authz_svn.so (3)删除末尾的如下4行: DAV svn SVNParentPath f:\svn_repos (4)在httpd.conf文件末尾,添加如下10行: DAV svn SVNParentPath f:\svn_repos

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 2 编写目的:为了保存项目资料,管理项目版本。提高开发的工作效率,管理项目文件。 使用范围:研发部 文件类型:源代码;技术文档;记录文档; 受控级别:保密;非保密; SVN目录申请: 需项目负责人通过邮件向管理员申请,并抄送给部门经理,经部门经理同意后,方可开通账号及权限。 日常管理规定: 1)开发人员所有的项目资料必须上传SVN。 2)开发人员工作开展的时候,必须有SVN地址来CHECK OUT本机开展工作。 3)开发人员在上传SVN的时候,必须详细写上该版本的修改内容。且内容必须大于10个字符。 4)开发人员每天下班前,把工作的内容上传SVN。 5) SVN的资料不对外公开。确实需要分发的,必须通过部门领导同意。 6)使用者需紧记个人账号密码,保证SVN使用安全;多次忘记密码者,需接受相就惩罚。7)不能向项目外的同事分发自身所负责项目的SVN内容。 8)如查实员工向不必要的人员分发SVN内容,一律作开除并且追究相关责任处理。 注意事项: 1)负责而谨慎地提交自己的代码(先更新后提交) SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且通过自测之后,谨慎地提交。如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起自测保证解决冲突之后,程序不会影响其他功能。如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。 2)保持原子性的提交

每次提交的间歇尽可能地短,以一个小时,两个小时的开发工作为宜。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug 并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。3)不要提交自动生成的文件 在编译过程中会产生很多自动文件,如.suo等配置文件、编译文件,以及其他的一些自动生成,同编译代码无关的文件。 4)不要提交不能通过编译的代码 代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库,项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在检出代码之后能够在统一的环境中进行编译。 5)不要提交自己不明白的代码 代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。 6)提交代码需填写注释 每次提交或建立新版本时,需描述清楚本次修改的内容,以便日后整理补丁,回滚版本所需。每条注释前,增加对此注释功能的描述标签,如下所示: +) 表示增加了功能 *) 表示对某些功能进行了更改 -) 表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽。 b) 表示修正了具体的某个bug

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使用规范 拟制张磊日期2015-03-09 审核日期 批准日期

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

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、

svn基本操作手册

SVN操作手册 该操作手册简略地介绍一些日常使用操作,如需要更详细的说明文档可以访问网址https://www.doczj.com/doc/b3333496.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这个team团队开发软件,但是在使用过程中是不是遇见过些问题是你很苦恼,那是你没有理解SVN这个软件的运行机制,是不是自己写的代码被别人覆盖,造成工作消失,工作量加重,甚至被公司开除,这些原因并不是SVN的错,原因呢是你不太懂SVN,也没有注意到使用SVN的操作步骤,下面笔者为大家介绍一下自己在使用SVN的注意事项和自己的一些经验,希望对大家有所帮助! 1.安装svn服务器和客户机。注意服务器的安装需你自己在网上查了,这个 安装也比较简单的,还有客户机,服务器可以为客户机分配账号。 2.共享项目:在eclipse下共享项目,如图: 单击share project可以是自己的项目共享。 从SVN检出共享的项目如图:这时的注意URL要写对 3.其他的项目大家都会这里就不多介绍,下面我着重介绍一下,在我们工作 中提交,更新,同期化出现的问题:

(1)在完成一天的工作量时一定要对自己的工作量在SVN上保存,这是我们要先同期化如图: (2)同期化后出现以下页面: 在右下角出现以上所示的箭头, 一定要注意这几个箭头,他们分别代表不同的意思: :代表有0个要更新的内容。

:代表有9个要提交的内容。 :代表有0个冲突内容。 这三个都是本地的数据相对于SVN最新版本的数据进行的对比。 如果有冲突内容先解决冲突的内容,点击会出现两个画面,左边的画面是本地的画面,右边的画面是SVN的画面,这是比较左边与右边的区别,把一改提交的放到左边进行并接,然后保存就ok了,这是就解决可冲突问题,避免在提交时造成不能提交的错误。 然后单击更新SVN 上的数据,把共享的数据同步到自己的机器上。 最后单击提交自己的数据上传到SVN上,完成这些操作就可以避免提交自己数据时造成不能提交的错误。 还有我提醒大家一下:作为一个软件开发人员,如果你没有备份的习惯,那你还是不要从事软件开发,一次失误就应该学会及时备份自己的项目,以免造成不必要的损失,所以呢,软件开发者一定要注意,不要使自己的工作因为小小的失误变没了 谷云龙 2011-4-7

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