Windows 下搭建 SVN(3.9版本)服务器

2018年08月11日 12:22:55 Amarao 阅读数 11984
 
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。

目录

一 、安装Visual SVN

二、配置SVN

三、安装TortoiseSVN

四、上传项目到远程仓库

五、从远程仓库下载项目

六、检出项目

七、版本回退


参考链接

http://blog.csdn.net/lu1024188315

https://www.cnblogs.com/warrior1988/p/5359084.html


VisualSVN server 服务端和 TortoiseSVN客户端搭配比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单。

VisualSVN Server的下载:http://www.visualsvn.com/server/download/

TortoiseSVN 的 下载:http://tortoisesvn.net/downloads.html

在网页下面还有一个Language packs,你可以选择简体中文,下载后直接安装,最后勾选立即使用即可。


一 、安装Visual SVN

首先下载VisualSVN Server

【1 】打开后一路下一步,有协议点同意

【2】 选择 visualVSN服务器和管理控制台 或只有管理控制权限

选个标准版或企业版

【3】选择程序安装的路径、Subversion Repository(库)的路径和所使用的协议和端口以及备份路径

Location是指VisualSVN Server的安装目录,

Repositorys是指定你的版本库目录,

Server Port指定一个端口,

Use secure connection勾上表示使用安全连接。

继续【Next】到【Finish】。

选择HTTP或HTTPS两种协议,

HTTPS的端口号默认可以选择443和8443

HTTP默认可以选择80、8080和81

在1.4版本后,Subversion加入了Service运行的功能。端口号可以任意定义。

个人偏向于使用HTTPS的8443端口,因为HTTPS安全性比较高,虽然443端口是标准HTTPS端口,但如果做WEB开发那肯定就有麻烦,同时Skype也会使用这个端口进行某些通讯。

还有就是下面的用于验证的身份,一个是windows验证,一个是Subversion身份验证,这里默认是Subversion身份验证。

【4】接着就是安装过程

【5】安装完成后会询问你是否需要运行VisualSVN Server Manager

【6 】点finish,打开“ VisualSVN Server Manager ”,如下:

右侧状态区包括:

Status:服务运行状态

SubversionAuthentication:账户信息

Respositories:代码库信息


二、配置SVN

1.创建远程仓库

修改URL:

如电脑IP是:192.168.100.100

右键 VisualSVN Server选择Properties

选中NetWork输入IP即可

添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库,如下图:

之后会提示选择仓库类型:

FSFS:根据标准的FSFS数据存储创建一个常规的Subversion存储库。

VDFS:基于VisualSVN分布式文件系统创建分布式Subversion存储库。VDFS存储库充当标准的Subversion存储库,允许在地理分布的站点之间复制数据。

选择FSFS,输入仓库名字

选Empty,只创建空的代码库FirstRep;

选Single,则在代码库FirstRep下面会创建trunk、branches、tags三个子目录。

我们选Single

选择仓库的使用权限,选择所有用户

点击create之后带你finish,创建成功

2.创建用户并添加

在左侧的Users上点击右键:

输入信息,点击OK,我们就创建一个用户了。

按照上面的过程,分别添加用户其他用户就可以了。

下面我们开始添加这些用户到我们刚才创建的项目里。

点击刚才创建的库,右击选择属性(Properties)

点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,

选中添加的用户还可以配置权限

注意这里的权限设置,要选择好。

点击"确定"按钮,上面的用户就具有了访问代码库的不同权限。

右键创建的仓库,选copy url ,然后到网页打开连接

之后会让你输入账号密码,然后就可以登陆了。

三、安装TortoiseSVN

上传到SVN服务器首先要下载TortoiseSVN

下载后安装,一路next,然后finish,给出部分截图如下:

最后也可以自己安装中文包,一路next,最后勾选立即使用即可。

四、上传项目到远程仓库

假设我们本地有个TestDIR目录,里面两个txt文件,如下图:

此时远程仓库状态:

右键FirstRep,选择copy url

之后到本地右键FirstRep目录,选择TortoiseSVN,导入

然后输入刚才的URL,同时也可以输入项目描述

等待一会

此时在VisualSVN 空白处右键,选择刷新,此时远程仓库状态:

五、从远程仓库下载项目

假如我们要下载FirstRep仓库代码,到TestDIR

首先右键点击FirstRep文件夹,这时候的右键菜单如下图所示:选择copy URL toCLipboard

然后再进入TestDIR文件夹,在电脑的空白处单击右键,选择小海龟的图标/ 导出

之后弹出对话框,将刚出的地址粘贴到第一个地址栏中,也可以自己指定目录,然后确定

之后会弹出输入用户名和密码的对话框,输入新建账户和密码,

确定,然后会弹出检出界面。

ok下载成功。

六、检出项目

  1.  
    检出项目是把远程仓库下载到本地,可以对项目提交,修改,删除等。
  2.  
     
  3.  
    下载代码只是下载到本地,没有任何权限,相当于只读。

客户端去检出代码,在桌面空白处单击右键,选择SVN检出,

在弹出的对话框中填写版本库URL,检出目录(自动生成项目同名文件夹),还可以选择版本

等待一会会提示检出完成

检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√.如图:

七、版本回退

首先检出项目到本地(操作见上面)

基本方法:

1.右击刚才检出的FirstRep目录,TortoiseSVN – show log(显示日志)

3.右击你想要回滚到的版本,可以看到两个选项:“Revert to this revision”和“Revert changes from this revision”。

下面举例说明

譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。

Revert to this revision(复原到此版本):

如果是在版本6这里点击“Revert to this revision”,表示7~10的修改全部作废,历史倒退到了版本6那个年代。

Revert changes from this revision(复原到此版本做出的修改):

如果是在版本6这里点击“Revert changes from this revision”,表示版本6这个历史事件被抹杀了,只剩下除版本6外的9个历史事件了。

如果同时选择了6,7,8三个历史时期并点击“Revert changes from this revision”,表示抹杀6~8这仨历史时期。

同理,如果同时选择7~10,然后点击“Revert changes from this revision”,则效果跟在版本6这里点击“Revert to this revision”是一样的。

我们选择复原到此版本,会提示如下

点击还原

然后右键检出的FirstRep目录,点击提交之后便生效了。

其他优质方法

方法1

描述:直接检出一个你需要的版本,然后用你检出的版本覆盖你的最新的版本,

优点:不丢失你新建的文件,同时获得最新的SVN版本控制。

操作步骤:

(1)右键刚刚检出的版本14文件夹→TortoiseSVN→Show log(显示日志)→选中需要回滚的版本→右键→检出。

(2)你需要重新指定一个文件夹,否则会冲突,如选择test1文件夹

(3)此时文件夹视图如下:

(4)然后在新检出的目录修改BUG,比如新加一个3.txt文件

(4)最后,右键新检出的目录,选择commit提交,用修改文件覆盖到你的最新版本,即可。

此时远程仓库如下

方法2

merge命令

(1)右键检出目录,选择TortoiseSVN中的合并(merge)。

(2)选择合并类型

(3)点击next,后面什么都不用改,点击”合并”

文件就回滚到了指定的版本了,commit之后,回滚完成。

方法3

描述:若是你编辑了工程,在没有提交的前提下,你想放弃这些修改,

操作:直接选择TortoiseSVN→revert就可以更新到工程的最新的版本。


方法4

描述:若是你想退回到某一个版本,你就可以直接选择TortoiseSVN→update to reversion。

注释:这样就可以把版本回退到你选中的版本去,这种情况下SVN并没有显示出有什么冲突,并且新建立的文件也还在。

缺点:在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突。

(1)右键test1,选择TortoiseSVN→update to reversion,选择版本15

(2)原先test1,版本19,内容如下

(3)等待更新完成,test1内容图如下,3.txt已删除

(4)此时我们修改1.txt,如下

(5)但是此时SVN的版本控制还是在最新的主干上。我们需要 update 并 解决冲突。


方法5

你可以直接选择revert changes from this revision,这样的话你可以直接解决冲突并提交。

不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到之前的版本了。

方法6

描述:可以从日志中回滚到你需要的版本,从日志中选中你需要的版本,然后Update item to reversion就好了,这种情况下SVN不会对新建文件产生冲突,并且新建立的文件也还在,

缺点:在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突


注意:

向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。

一个好习惯:

如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用。

Windows系统中的SVN使用方法的更多相关文章

  1. Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...

  2. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  3. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  4. 获取Windows系统中的所有可用和在用串口

    目的:获取Windows系统中的所有可用和在用串口 方法:注册表查询法 优点:简单.实用.快速.无遗漏,无多余结果. 说明:另外还有8种方法可以枚举串口,但都不如此法. 代码和详细注释如下: //-- ...

  5. 双系统中ubuntu的安装方法

    双系统中ubuntu的安装方法 注意:给电脑安装双系统时,一定要先装Windows系统,再安装Linux系统! 原因是电脑开机后,要先执行一段bootloader引导程序:再由引导程序启动操作系统.W ...

  6. python - 在Windows系统中安装Pygame及导入Eclipse

    环境:python3.6(只有一个版本)+ windows10(64 bit)  + Eclipse+pydev python3.6安装完成后,会自带 easy_install 和 pip3,在Win ...

  7. Python 编程环境搭建(Windows 系统中)

    由于大家普遍使用 Windows 系统,所以本文只介绍 Windows 系统中 Python 环境的安装. 在 Windows 中安装 Python 与安装普通软件没什么差别,下载所需版本的安装包后, ...

  8. 解决Macbook Pro 2017安装Windows10双系统后在Windows系统中Apple蓝牙鼠标不能使用问题

    MAC BOOK PRO 2017安装Windows10双系统 在Windows系统中蓝牙鼠标不能使用解决办法 最近因工作需要,macOS系统不能要求,大部分工作必须要在Windows系统中进行,最初 ...

  9. 关于Linux系统和Windows系统中文件夹的命名规范

    Windows系统中. 1.在创建文件夹的时候不能以"."开头(但是文件以多个点开头并且还有其他合法字符的话就是合法的) 但是在windows系统中确实见过以一个点".& ...

随机推荐

  1. SQL 练习27

    查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列 SELECT cid,AVG(score) 平均成绩 from sc GROUP BY cid ORDER BY A ...

  2. SQL 练习9

    查询学过「张三」老师授课的同学的信息 SELECT Student.* from Student,Teacher,Course,SC WHERE Teacher.TId = Course.TId AN ...

  3. 心态崩了,我怎么知道实际生产环境的 B+ 树索引有多少层?

    Q:在实际生产环境中,InnoDB 中一棵 B+ 树索引一般有多少层?可以存放多少行数据? 关于这个问题最近好像在牛客上经常看到,感觉没啥意义,可能主要考察的是对 B+ 索引的理解吧.先上答案: A: ...

  4. nacos config基本使用

    说明 Nacos is an easy-to-use dynamic service discovery, configuration and service management platform ...

  5. commandBinding 的命令

    <Window x:Class="WpfApplication1.Window29" xmlns="http://schemas.microsoft.com/win ...

  6. 【权限管理】Apache Shiro和Spring Security的对比

    一.Shiro简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Secu ...

  7. Struts2之Json插件的使用

    时间:2017-1-15 02:27 --普通方式处理异步请求:    ServletActionContext.getResponse().getWriter().print("aa&qu ...

  8. jq的常用事件及其案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. maven下载出错

    求解

  10. 教你用multipass快速搭建k8s集群

    目录 前言 一.multipass快速入门 安装 使用 二.使用multipass搭建k8s集群 创建3台虚拟机 安装master节点 安装node节点 测试k8s集群 三.其他问题 不能拉取镜像:报 ...