手把手教你在Windows下搭建SVN服务

手把手教你在Windows下搭建SVN服务

    • SVN软件下载与安装
      • 1、软件下载
      • 2、软件安装
        • 1.VisualSVN服务器安装
          • 第一步:创建存放SVN服务软件和仓库的文件夹
          • 第二步:运行VisualSVN安装程序
        • 2.TortoiseSVN客户端与中文包安装
          • 第一步:运行TortoiseSVN安装程序
          • 第二步:运行TortoiseSVN中文包安装程序
      • 3、服务配置
        • 1.修改服务IP地址
    • SVN仓库建立与用户分配
      • 1、新建一个SVN仓库
      • 2、新建用户组与用户
        • 1.添加用户组
        • 2.添加用户
      • 3、给仓库分配用户
    • TortoiseSVN使用
      • 1、代码检出
      • 1.1、代码检出高级功能
        • 解决方案
      • 2、提交修改
      • 3、版本更新
      • 4、冲突解决
      • 5、重新定位
      • 6、文件忽略
    • 高级功能
      • 1、branch与tag
        • 1.新建分支
        • 2.合并分支到主分支

  • 此教程用于在windows下搭建SVN服务器
  • 目前搭建的SVN服务器仅可用于内网版本(可配置内网穿透用外网访问)
  • 客户端工具TortoiseSVN的安装和使用
  • 推荐一个项目使用一个仓库

SVN软件下载与安装

1、软件下载

使用SVN作为代码管理工具共需要安装两种软件,一种是SVN服务器,本例中使用VisualSVN,一种是SVN客户端,本例中使用TortoiseSVN

  • SVN服务器下载地址:VisualSVN Server

  • SVN客户端下载地址:TortoiseSVN

  • SVN客户端中文包下载地址(在下载SVN客户端的页面下面):Chinese, simplified

如图为SVN服务器下载位置

在这里插入图片描述

如图为TortoiseSVN下载位置

手把手教你在Windows下搭建SVN服务_第1张图片

如图为SVN客户端中文包下载位置

手把手教你在Windows下搭建SVN服务_第2张图片

本教程需要下载的三个安装包
在这里插入图片描述

2、软件安装

1.VisualSVN服务器安装

SVN作为一个代码管理工具,最好将它安装在一个公共的地方以供其他人可以方便的访问。

作为演示,在H盘根目录下temp文件夹中建了一个SVN文件夹用来放置SVN服务器相关的文件。

第一步:创建存放SVN服务软件和仓库的文件夹

新建一个SVN文件夹

手把手教你在Windows下搭建SVN服务_第3张图片

在SVN文件夹下新建BACKUP、REPOSITORIES、SERVER三个文件夹

手把手教你在Windows下搭建SVN服务_第4张图片

第二步:运行VisualSVN安装程序

在这里插入图片描述

手把手教你在Windows下搭建SVN服务_第5张图片

手把手教你在Windows下搭建SVN服务_第6张图片

手把手教你在Windows下搭建SVN服务_第7张图片

选择标准版本即可

手把手教你在Windows下搭建SVN服务_第8张图片

注意这里将路径改为之前创建的三个文件夹

手把手教你在Windows下搭建SVN服务_第9张图片

安装运行成功

手把手教你在Windows下搭建SVN服务_第10张图片

2.TortoiseSVN客户端与中文包安装
第一步:运行TortoiseSVN安装程序

在这里插入图片描述

手把手教你在Windows下搭建SVN服务_第11张图片

手把手教你在Windows下搭建SVN服务_第12张图片

注意:如果要使用PhpStorm等IDE进行开发并且要用使用到SVN的,请选择安装command line clinet tools,否则将不能使用PhpStorm等内置的svn管理工具。

手把手教你在Windows下搭建SVN服务_第13张图片

一路next即可,如需调整软件安装目录,请自行调整,推荐默认路径。

第二步:运行TortoiseSVN中文包安装程序

在这里插入图片描述

手把手教你在Windows下搭建SVN服务_第14张图片

重要:注意勾选此处的Configure ToroiseSVN to use the language。这样就不用安装完再去设置ToroiseSVN的语言项了。
手把手教你在Windows下搭建SVN服务_第15张图片

安装完毕之后右键可以文件夹空白处可以看到ToroiseSVN的工具条都已经变成中文。

手把手教你在Windows下搭建SVN服务_第16张图片

3、服务配置

默认安装的SVN服务器新建仓库时使用的URL地址将会是与本机计算机名相关的一个地址,将其修改为内网IP地址能够方便我们使用。

1.修改服务IP地址

在VisualSVN Server(Local)上右击,选择properties

手把手教你在Windows下搭建SVN服务_第17张图片

选择Network选项卡,修改Server name Server port两项
手把手教你在Windows下搭建SVN服务_第18张图片

SVN仓库建立与用户分配

1、新建一个SVN仓库

打开VisualSVN软件并在Repositories上右击Create New Repositories

手把手教你在Windows下搭建SVN服务_第19张图片

选择第一个选项

手把手教你在Windows下搭建SVN服务_第20张图片

输入仓库名

手把手教你在Windows下搭建SVN服务_第21张图片

选择空仓库

手把手教你在Windows下搭建SVN服务_第22张图片

选择所有用户具备读写访问权限

手把手教你在Windows下搭建SVN服务_第23张图片

注意:复制或记住这个路径,客户端检出就是使用的该路径,由于当前还未配置仓库的用户等,目前还无法使用该仓库

在这里插入图片描述

如果未能在新建仓库时复制,也可以在此处复制(右击仓库名)

手把手教你在Windows下搭建SVN服务_第24张图片

此时,一个SVN仓库已经新建完成,但是现在由于没有给这个仓库添加用户,所以还不能够对这个仓库进行操作,我们需要新建用户、用户组来给这个仓库添加用户。

2、新建用户组与用户

1.添加用户组

在Groups选项上右击新建Group

手把手教你在Windows下搭建SVN服务_第25张图片

输入rxkj点击确定

手把手教你在Windows下搭建SVN服务_第26张图片

手把手教你在Windows下搭建SVN服务_第27张图片

2.添加用户

手把手教你在Windows下搭建SVN服务_第28张图片
手把手教你在Windows下搭建SVN服务_第29张图片

手把手教你在Windows下搭建SVN服务_第30张图片
重要:将新添加的用户添加到用户组,这样给仓库添加用户时就无需每次勾选用户,只需要选择用户组即可

手把手教你在Windows下搭建SVN服务_第31张图片

手把手教你在Windows下搭建SVN服务_第32张图片

3、给仓库分配用户

右击之前新建好的仓库,选择properties

手把手教你在Windows下搭建SVN服务_第33张图片

点击Add

手把手教你在Windows下搭建SVN服务_第34张图片

选择groups

手把手教你在Windows下搭建SVN服务_第35张图片

手把手教你在Windows下搭建SVN服务_第36张图片

此时,就可以使用该用户组下的用户去操作该仓库了。

TortoiseSVN使用

在SVN服务器中建立好仓库与用户,并为仓库分配好用户之后,我们就能使用TortoiseSVN去检出使用这个仓库了。

1、代码检出

复制之前建立的仓库地址

手把手教你在Windows下搭建SVN服务_第37张图片

在你本地文件夹中右击,选择SVN检出

手把手教你在Windows下搭建SVN服务_第38张图片

此处的DESKTOP-BIUS538,请注意需要替换为安装SVN服务器的IP地址,并要把服务器上的防火墙关闭,或者开放SVN端口
手把手教你在Windows下搭建SVN服务_第39张图片
注意下面的检出至目录,存放到你要放置项目的文件夹中,项目文件夹的名字与仓库名字相同
手把手教你在Windows下搭建SVN服务_第40张图片

输入之前分配给该仓库的用户的用户名和密码

手把手教你在Windows下搭建SVN服务_第41张图片
出现项目的文件夹和检出完成对话框,即代表检出已经成功,如果没有出现文件夹上的绿勾,请重启电脑。绿勾代表项目中修改的文件都已签入到服务器
手把手教你在Windows下搭建SVN服务_第42张图片

1.1、代码检出高级功能

svn仓库的代码检出并不一定是要在仓库的根目录检出代码。由于项目中可能存在文档的其他资源,所以仓库的根目录并不一定是项目的根目录。此时,如果使用phpstorm的工具进行开发时,会遇到如果项目代码不是svn的根目录,项目代码无法在工具中提交的问题。

解决方案

现在本地新建项目文件夹,然后分别建立代码根目录和文档根目录等其他目录。然后将代码的目录和其他目录分别导出,这样就可以在IDE中使用版本控制工具进行代码的管理了。这样做的好处是,如果一个仓库中既有前端项目,又有后端项目,那么他们可以分开导出而不受对方的影响。麻烦的地方在于,一个仓库里的东西需要分开检出。分开检出的项目又需要单独上传。

2、提交修改

在项目中新增一个readme.txt文件,并保存。.svn隐藏文件夹表示这是一个svn项目的意思,不要去动这个文件夹。

手把手教你在Windows下搭建SVN服务_第43张图片

回到项目所在的目录中,右击项目文件夹,选择svn提交。

手把手教你在Windows下搭建SVN服务_第44张图片
勾选新添加的文件,点击确定。
手把手教你在Windows下搭建SVN服务_第45张图片

出现提交完成对话框即代表提交已完成。

手把手教你在Windows下搭建SVN服务_第46张图片

可以看到新添加的文件以及加入到svn版本控制中。
手把手教你在Windows下搭建SVN服务_第47张图片

3、版本更新

在项目的文件夹上右击,选择SVN更新

手把手教你在Windows下搭建SVN服务_第48张图片
即可看到其他用户对项目中文件的添加,和文件的修改。
手把手教你在Windows下搭建SVN服务_第49张图片

手把手教你在Windows下搭建SVN服务_第50张图片

4、冲突解决

假设用户A修改了readme.txt文件,并将其提交到了服务器仓库中。

手把手教你在Windows下搭建SVN服务_第51张图片

手把手教你在Windows下搭建SVN服务_第52张图片

用户B在没有获取到用户A最新修改的提交的readme文件前也修改了readme.txt文件

手把手教你在Windows下搭建SVN服务_第53张图片

在用户B提交时,会显示提交失败

手把手教你在Windows下搭建SVN服务_第54张图片

确定后选择更新

手把手教你在Windows下搭建SVN服务_第55张图片
readme文件出现冲突
手把手教你在Windows下搭建SVN服务_第56张图片

右击出现冲突的文件,选择编辑冲突

手把手教你在Windows下搭建SVN服务_第57张图片
此处标红为出现冲突的行
手把手教你在Windows下搭建SVN服务_第58张图片

在出现有冲突的行上右击,选择使用他们的行,或者使用我的行解决冲突

手把手教你在Windows下搭建SVN服务_第59张图片

在所有冲突行都解决后,标记已解决并保存

手把手教你在Windows下搭建SVN服务_第60张图片

此时文件的冲突标记已不在,显示为已修改的标记。

手把手教你在Windows下搭建SVN服务_第61张图片

再次查看该文件,可以看到其中有些为用户A的修改,有些为用户B的修改。

手把手教你在Windows下搭建SVN服务_第62张图片

提交更新。

手把手教你在Windows下搭建SVN服务_第63张图片

此时用户A获取更新,得到的就是用户B解决了与用户A冲突后的文件。

手把手教你在Windows下搭建SVN服务_第64张图片

手把手教你在Windows下搭建SVN服务_第65张图片

至此,冲突解决完毕。

5、重新定位

如果VisualSVN一开始配置的是默认端口(443),并且客户端已经从这个端口上检出了代码。而后又因为其他原因修改了VisualSVN的端口,或者路径,需要让客户端重新定位。

在项目上右击,选择重新定位,输入新的地址

手把手教你在Windows下搭建SVN服务_第66张图片

手把手教你在Windows下搭建SVN服务_第67张图片

至此,SVN客户端又能够重新从新的VisualSVN地址检出代码。

6、文件忽略

在使用svn版本管理项目时,有的时候不用把项目中的所有文件添加到项目中,而每次都手动的去忽略文件会很麻烦,svn在项目的属性配置中有一个ignore属性可以配置全局忽略。

在项目上右击,找到属性

手把手教你在Windows下搭建SVN服务_第68张图片

点击新建,其他

手把手教你在Windows下搭建SVN服务_第69张图片
找到ignore项
手把手教你在Windows下搭建SVN服务_第70张图片

添加完成后点击确定

手把手教你在Windows下搭建SVN服务_第71张图片

此后,再使用SVN提交时就不会出现被忽略的目录了

手把手教你在Windows下搭建SVN服务_第72张图片

至此,文件忽略说明完毕。

高级功能

1、branch与tag

分支与标记功能,其中tag代表项目的某个里程碑副本,比如1.0版本发布。而branch表示用于增加新的功能而不影响主分支。这两个东西,本质上其实就是一份当前项目的拷贝,当拷贝出去之后,分支或者标记上的项目就与主分支上的独立了。但也不是完全独立,在服务器上分支会保存主分支文件的引用。

注意事项:

要想使用分支与标记,最好在项目仓库建立之初就选择建立那些用于分支与标记的文件夹。否则后期再建,会有问题。
手把手教你在Windows下搭建SVN服务_第73张图片

1.新建分支

在你要建立拷贝的文件夹上右击,选择分支/标记

手把手教你在Windows下搭建SVN服务_第74张图片

在至路径中找到branches文件夹,并确定。

手把手教你在Windows下搭建SVN服务_第75张图片

增加branches后面的路径名字

手把手教你在Windows下搭建SVN服务_第76张图片

注意不要切换工作副本到新分支,确定即可。

选中branches文件夹,选择svn更新。

手把手教你在Windows下搭建SVN服务_第77张图片

可以看到新分支中的项目文件已经出现。
手把手教你在Windows下搭建SVN服务_第78张图片

2.合并分支到主分支

新建一个1.txt文件并提交到分支上。

手把手教你在Windows下搭建SVN服务_第79张图片

在主分支上单击合并,选择合并一个版本范围

手把手教你在Windows下搭建SVN服务_第80张图片

选择要合并的分支

手把手教你在Windows下搭建SVN服务_第81张图片

下一步并确定合并。

手把手教你在Windows下搭建SVN服务_第82张图片

**可以看到1.txt已经被添加进来,提交更改即可。**至此,合并分支完毕。

注意,tag其实也是分支的一种,只不过我们习惯把tag当做某个里程碑版本的分支,这样的分支一般只是用来记录某些版本发布的时刻,某些版本的备份。不能将其当做分支使用。

svn中的branch与tag非常灵活,这里只是简单说明,具体的使用请查找相关资料。

你可能感兴趣的:(SVN,SVN,Windows下SVN搭建)