svn安装,配置

来源:互联网 发布:辐射4女角色捏脸数据 编辑:程序博客网 时间:2024/06/05 04:47

项目管理在项目开发活动中起到非常重要的作用,而对于初学者来说学习有一定的难度,且不说如何使用,就是搭建过程恐怕也要费一般周折,介于此下面就通过图解的方式一步一步详细的教大家如何使用SVN,你只要耐心的一步步去实践就能掌握

目录:

一、SVN介绍

二、SVN服务器安装

三、SVN客户端安装

四、SVN服务配置

五、SVN客户使用

六、Eclipse SVN客户端插件安装

一、SVN介绍

  SVN是个自由、开源的版本控制系统,绝大多数开源软件都使用SVN作为代码版本管理软件。

  SVN的官方网站http://subversion.apache.org/。目前SVN在开源社区中非常流行的一款版本控制软件,它是CVS的替代产物。

二、SVN服务器安装

  1、下载CollabNetSubversion-server-1.5.6-2.win32

  2、执行安装程序CollabNetSubversion-server-1.5.6-2.win32 ---------SVN服务器软件

  安装完成后,右键菜单出现”SNV Checkout”(可将服务器中的项目签出到本地),如图所示

 

三、SVN客户端安装

  1、 下载TortoiseSVN-1.5.9.15518-win32-svn-1.5.6.msi

  2、 执行TortoiseSVN-1.5.9.15518-win32-svn-1.5.6.msi---------SVN客户端软件

  执行LanguagePack_1.5.9.15518-win32-zh_CN.msi------------SVN客户端软件汉化包(可选)安装完成后,右键菜单出现”TortoiseSVN”,如上图所示

四、SVN服务配置

方案1:使用命令和手动修改配置文件

  如果感觉麻烦,可跳过后面的使用方案2

  1、 执行创建目录  svnadmin create c:\ Repositories

  2、 打开conf目录下的authz文件

  添加组及其用户accp=user01,user02

  为组用户设置目录的读写权限,组前面要用@符,第一个[/]表示目录,[/]@accp=rw

  3、 编辑passwd文件

  格式:用户名=密码

     user01=1234

     user02=1234

  4、打开svnserverconf

   取消以下几个注释

    password-db = passwd

    authz-db = authz

  5、 开机自动启动SVN

    sc create MySVNServer binpath= "\"C:\ProgramFilesSubversion\svnserve\svnserve\svnserve.exe" --service  -r c:\ Repositories" displayname= "SVNService" depend= Tcpip start= auto

  注意之处

(1)sc是windows自带的服务配置程序,MySVNServer 是服务的名称,没什么用。

 

(2)参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成\" 。

 

(3)--service参数表示以windows服务的形式运行,--r指明svn repository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。

 

(4)displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。

 

(5)binPath的等号前面无空格,等号后面有空格 displayname depend start也都一样。 service前面是--,不是- ,而r前面是-

 

(6)若要卸载svn服务,则执行 sc delete svnserve 即可。

 

(7)从“sc”到“auto”是在同一个命令sc,必须写在同一行。

  6、启动服务:

    C:\>net start svnservice

    SVNService 服务正在启动 .

    SVNService 服务已经启动成功。

  停止服务:

    C:\>net stop svnservice

    SVNService 服务正在停止.

    SVNService 服务已成功停止。

  删除创建的服务

    C:\>sc delete svn svnservice

方案2:使用可视化工具

  方案1的确比较麻烦,我们可以使用VisualSVN-Server-1.6.3.msi----------SVN服务配置可视化工具

  1、下载

  2、执行VisualSVN-Server-1.6.3.msi安装程序

  3、VisualSVN-Server的使用

  (1)创建版本库

  主键面,表明SVN服务已运行,

 

  Repositories表示版本库是svn文件共享的核心,它储存所有的数据,并对数据进行版本化管理。按照文件树形式存储数据——包括文件和目录。安装SVN Server 时设置版本库的路径,默认c:\ Repositories。SVN使用URL来识别版本库中的资源

  在Repositories下创建Repository组织不同项目的版本库,例如:

  (2)创建组和用户

  创建用户并设置密码,如图所示:

  创建组并添加用户,如图所示:

  为用户设置版本库的读/写权限,选择其中某个版本库—>右键属性,弹出权限设置窗口

  如图所示:

  选择组或用户设置读/写权限,建议删除默认的Everyone的读写权限

五、SVN客户使用

  软件开发团体的一员就是SVN的一个客户,因此SVN客户端的使用显得十分重要,主要操作包括import、check out、add 、commit、update

具体操作如下:

5.1 import入库操作

5.2 签出操作

5.3 提交添加新文件

5.4 提交文件更新(修改、删除的文件)

5.5 更新操作(将SVN服务器中所有版本变化更新到本地)

5.6 版本冲突的相关操作

5.7 避免冲突方法——加锁文件

5.8 版本还原

5.1 import入库操作

   将初始的项目(项目目录结构、接口、通用组件、静态页面等)导入版本库,操作如图:

  执行import命令弹出import对话框,图中Import对话框与Visaul SVN Server窗口

  在URL of repository中输入或选择URL(对应版本库中的资源),注意URL所对应版本库中的资源的必须存在(如上图所示),若不存在要首先在VisualSVN中创建(或使用命令方式svnadmin create c:\ Repositories\mycrm),创建成功后c:\ Repositories\mycrm

  产生一些版本库相关的系统文件和目录,如下所示:

  单击import对话框的ok按钮,按提示输入用户名和密码(指在SVN Server设置的账户和密码,可勾选Save authentication以后不再提示),完成后在VisualSVN Server可看到

  这表示你的项目已入库,处于SVN版本控制中

5.2 签出操作

  有两种方式check out 和 export,区别在于:

    ① export 方式仅仅是将版本库的文件拷贝到本地而已。

    ② check out 方式获得文件后,本地文件仍处于SVN版本控制中,这一点很重要。这也是主要的一种方式

  在本地目录下,单击右键选择菜单命令,如图所示

 

  执行Check out 弹出对话框,如图所示

 

  URL of repository指你要导出的版本库,Checkout Directory设定存储的本地目录,单击Ok,导出完成后可看SVN服务器版本库中文件已迁出到指定的本地目录下,并且多出.svn目录这个表示该本地目录是受SVN服务器版本化控制的,图标表示文件或目录处于正常状态

5.3 提交添加新文件

  在项目中增加一个新文件,例如在crm项目中添加一个login.html文件,新增的文件的图标为,表示该文件没有入库SVN服务器无法识别,选择该文件单击鼠标右键执行add命令,将文件入库如图所示

  此时文件图标变为表示该文件已入库但还未更新,然后执行svn commit命令,从而完成新文件的版本化处理,如图所示

5.4 提交文件更新(修改、删除的文件)

  操作和添加新文件类似,实际上对于本地变化的文件(包括添加、修改、删除的文件)都是执行svn commit命令提交给到SVN服务器完成版本化处理(该版本号会递增)。只不过对于新增文件需要先执行add命令让SVN服务器识别该文件,表示该文件内容发生变化,可通过菜单show Log命令查看版本的变化,如图所示

  可以看到新增login.html版本号为2。

5.5 更新操作(将SVN服务器中所有版本变化更新到本地)

  对于其他用户(指不是提交变化的用户),可执行SVN update命令完成将SVN服务器发生版本变化的文件更新到本地

  如图所示:

  通常我们(记住每个人就是SVN的本地客户)在工作时,会不断执行SVN Update命令以获取SVN服务器中最新的文件,从而获得其他人的变更。这也是作为一个项目版本管理软件最重要的功能之一——及时通知项目的变更

5.6 版本冲突的相关操作

  冲突是指团队协同工作时,当多人修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况。例如:user01对temp.txt文件进行编辑

添加“User01的数据信息”,User02也对temp.txt文件进行修改添加“User02的数据信息”,User01完成后执行SVN Commit,这时User02在执行SVN Commit提交就会产生冲突而提交失败,如图所示

  这时(遇到冲突时)需要执行SVN Update更新这个文件,产生如图所示的信息框

  并且会看到新增了三个文件

  原文件的图标变为表示内容含有冲突

    temp.txt.mine(格式:冲突文件名.扩展名.mine)记录了你的文件名内容

    temp.txt.r7(格式:冲突文件名.扩展名.r版本号)记录了当前版本的上一个版本内容

    temp.txt.r8(格式:冲突文件名.扩展名.r版本号)记录了当前版本的内容

  接下来就是如何解决文件中的冲突,你可以选择以下方式解决冲突 

 

  5.6.1、手动合并冲突文件

  打开temp.txt可以看到

  说明:<<<<<.mine到 >>>>>.r8之间的就是冲突的部分,======之前的是你的内容,=====之后的是当前版本的内容可根据情况进行取舍,然后删除注释符号并删除新增的新增了三个文件,然后再提交就OK了!

  5.6.2、执行Edit conficts命令解决冲突,如图所示

  然后弹出如下窗口

  可明显看出第2行冲突,操作如下:

 

  1、  首先选择冲突行

  2、单击工具栏按钮

    单击按钮:

    单击按钮:

    单击按钮:

    单击按钮:

  单击保存会看到新增的三个文件已自动被删除(如果仍存在手动删除即可),这时再执行SVN Commit也OK了!

  5.6.3执行revert命令放弃所做的修改,如图所示

  该命令会自动用当前版本替换你的变化,并删除三个新增文件

5.7 避免冲突方法——加锁文件

  多人同时操作同一个文件是产生冲突的根本原因。

  为了减少冲突的发生避免一些不必要的麻烦,通常在变更文件之前执对该文件行一次SVN Update操作,但这样冲突还是会发生的,一个比较有效的方法是对文件加锁。其原理很简单在对文件变更之前先对文件上锁,这是有两种可能若文件有锁(表明有人在编辑)加锁失败,若文件没有锁则加锁成功。一个文件上锁后除了自己别人是不能对文件编辑的,当我们编辑完成之后再解锁,然后别人就可以加锁编辑了。这样就有效的避免了多人同时操作同一个文件时产生冲突

  5.7.1加锁

  执行Get Lock…命令,操作如下:

  5.7.2 解锁

  对已加锁的文件执行Release lock命令,如图所示:

5.8 版本还原

  在开发中有时我们希望将文件的变更恢复到之前某个版本,这也是一个项目管理软件必备的功能,对于SVN执行Update to revision.. 命令即可

  比如我们把temp.txt恢复到最初的状态,目前文件的内容如下图所示:

  我们可以先执行Show log查看temp.txt的版本信息如图所示

  可看出最初添加的文件的版本号18(不是2说明该文件被删除过,然后又被重新创建),然后执行Update to revision..命令,如图所示:

  单击Ok按钮,完成后打开temp.txt文件可以看到文件已恢复到初始的内容了

六、Eclipse SVN客户端插件安装

  Eclipse也提供了对SVN支持,但我个人感觉Eclipse提供的SVN客户端插件,不如TortoiseSVN好用,但Eclipse是我们开发的环境,因此建议两个结合起来应用。对于Eclipse提供的SVN客户端的使用同TortoiseSVN差不多,这里重点介绍一下在MyEclipse安装SVN客户端插件,站点地址:http://subclipse.tigris.org/

详细步骤如下:

6.1 安装

6.2 从SVN服务器导入项目

6.3 提交文件更新

6.4 更新操作(将SVN服务器中所有版本发生变化的更新到本地)

6.1 安装

  具体操作:

  Step 1:选择Help——>SoftwareUpdates——>add/Remove Soft

  单击ADD按钮,弹出如下窗口

  Step 2:单击Add Site,

  在弹出的对话框中输入URL: http://subclipse.tigris.org/update_1.6.x,单击Ok即可

  Step 3:选择内容一路Next即可

6.2 从SVN服务器导入项目

  具体操作:

  打开eclipse ,选File——>import——>选SVN,如图所示:

  在URL中输入:版本库的路径比如https://jb:8433/svn/mycrm ,单击完成即可

6.3 提交文件更新

  选择文件单击右键,选择team提交,即可 

6.4 更新操作(将SVN服务器中所有版本发生变化的更新到本地)

  选择文件或目录单击右键,选择team-à更新,即可。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 父亲沉迷安利十年该怎么办 脚的大脚骨痛怎么办 自考准考证号忘记了怎么办 有桌子老师不出马怎么办 电商遇到职业打假人怎么办 超市遇到职业打假人怎么办 阿里巴巴碰到职业打假人怎么办 商家遇到职业打假人怎么办 买过期食品不赔怎么办 淘宝卖假货遇到打假师怎么办 网店遇到职业打假人怎么办 职业打假师把我起诉法院怎么办 被职业打假举报了怎么办 车档杆拉不动显示不在p档怎么办 宜人贷还不起了怎么办 买高跟鞋一只脚合适一只脚挤怎么办 脚瘦穿高跟鞋撑不起来怎么办 银川市阅海幼儿园进不去怎么办 考编专业不对口怎么办 北京55中国际部怎么办 初中数学没学好高中怎么办 靴子大了一码怎么办 靴子买大了一码怎么办 马丁靴大了一码怎么办 社保掌上通登录密码忘记怎么办 录微课时忘词怎么办 微课掌上通看不到信息怎么办 五年级学生上课很吵新老师怎么办 跟财务老师吵起来怎么办 qq把微信冻结了怎么办 微信给封号了怎么办 微信久了没登录冻结了怎么办 换手机号了微店怎么办 ai文件置入后都是字怎么办 excel加载项被禁用了怎么办 被期刊网骗了怎么办 发表的文章不想被收录怎么办? 农村长说的眼睛害了怎么办 普通党员不认同领导的决定怎么办 大学读不下去了怎么办 教师因病长期不能上班怎么办