windows server 2016 搭建使用 svn 服务器教程
参考教程:
https://zhuanlan.zhihu.com/p/428552058
https://blog.csdn.net/weixin_33897722/article/details/85602029
配置环境
windows server 2016 远程服务器+公网 ip
安装 SVN 服务端
下载 svn 服务端安装包:https://www.visualsvn.com/downloads/

下载完成以后拷贝安装包到服务器,双击安装包,下一步

下一步

保持默认即可,下一步
VisualSVN Server and Administration Tools:安装服务端以及所有管理工具
Administration Tools Only:只安装管理工具
Add Subversion command-line tools to the PATH environment variable:添加到系统环境变量,这样可以实现在cmd中直接调用svn命令
自己决定是否更改安装目录,其他的可以保持默认,点击下一步
Location:程序安装目录
Repositories:仓库代码保存目录
Backups:备份文件保存目录
这里提示如果勾选这个选项的话会需要一个密钥,怀疑是付费功能,所以这里不勾选,直接下一步

这里也提示如果选第二个的话需要一个密钥,这里选第一个
这两个选项就是选择远程链接仓库下载代码的时候使用什么账号来认证身份
Use Subversion authentication:使用svn自定义的用户密码认证
Use windows authentication:使用windows用户认证

下一步,开始安装

安装完成后勾选 Start visualSVN Server Manager ,然后点击finish以后会自动打开管理界面。


这个图形化的管理工具安装完成以后桌面没有自动创建快捷图标,包括开始菜单里也没有这个快捷项,所以需要自己去安装目录里找一下VisualSVN Server.msc这个程序,双击打开就是这个管理工具了
为了方便,可以自己新建个快捷方式到桌面

安装 SVN 图形化工具
这个是安装到自己电脑上的,不是安装到服务器上
为的是能够更方便的进行svn操作,比如从远程仓库拉取代码、上传代码等,而不需要输入命令行
下载小乌龟客户端:https://tortoisesvn.net/downloads.html
打不开的可以通过下面的网址下载,实测官网点击下载链接也是会跳转到sourceforge这个网站,所以可以放心下载
客户端安装包:https://sourceforge.net/projects/tortoisesvn/
中文汉化补丁:https://sourceforge.net/projects/tortoisesvn/files/1.14.5/Language%20Packs/LanguagePack_1.14.5.29465-x64-zh_CN.msi/download
要注意下载的汉化包版本号一定要与客户端版本号一致!
下载工具安装包

下载中文汉化补丁:

先打开下载的工具安装包,一路下一步


可以改一下安装路径,然后直接下一步

点击 install

这里注意选第一个,第二个需要你重启系统才行。

这里会提示有些程序他不能强制关闭,这个不用管,实测对后面没有什么影响,直接 ok 即可

等待安装完成


安装小乌龟汉化补丁包
点击下一步

这里注意勾选 Configure TortoiseSVN to use this language,这样再打开tortoiseSvn的时候就会自动改为中文显示,而不需要自己去设置里面设置了

在桌面点击右键,可以看到svn客户端已经变成了中文

创建远程仓库
首先在服务器上新建一个代码仓库

选择第一个,点击 Next
两个选项有什么区别我百度了一下也没太懂,我选的第一个,后面使用也没出现什么问题
Regular FSFS repository:标准的仓库类型,文件类型好像更通用一些。
Distributed VDFS repository:分布式仓库类型,VDFS存储库充当标准Subversion存储库,并允许在地理上分布的站点之间复制数据。好像是为了适应多个服务端仓库之间的互相同步才出现的仓库类型。

给新仓库命个名

根据自己需要选择,点下一步,不知道怎么选的选第一个
Empty Repository:空仓库,就是新建个里面啥都没有的仓库
Single-project repository:新建的仓库会包含一些文件夹和结构

选择访问权限,保持默认就行,后面还可以改
Nobody has access:没有人有权限
All Sbuversion users have Read /Write access:所有svn用户拥有读写权限
Customize permissions:自定义

保持默认,点create

创建完成,这里默认会先使用你的计算机名作为仓库地址
这样只能内网访问,外网是访问不了的

配置外网访问,首先需要创建一个用户

输入用户名,密码,确认密码

可以看到用户创建好了,状态是开启状态

右键点击 Properties

找到 Network–Server name,
这里改成你服务器的公网IP地址

然后再点击仓库的Copy URL to Clipboard,就会把仓库的外网地址复制到你的剪切板中

在自己电脑上选个目录新建一个文件夹,然后点击右键–SVN检出

填写你刚刚从服务器上获取的外网仓库地址
然后点击确定

等待一会,可以看到提示检出完成

然后就可以看到你创建的目录下已经有了远程仓库里的代码,以及一个.svn文件

这时候再点击右键,就可以看到多了更新和提交两个选项
更新,就是拉取远程仓库代码并覆盖本地文件
提交,就是将本地文件的改动上传到远程仓库并覆盖

需要注意这两个都是将改动直接覆盖,那如果你和别人改了同一个文件,是不会有合并冲突提示的,所以需要自己看下代码改动了哪里,可以通过一些功能来查看

相关文章:
windows server 2016 搭建使用 svn 服务器教程
参考教程: https://zhuanlan.zhihu.com/p/428552058 https://blog.csdn.net/weixin_33897722/article/details/85602029 配置环境 windows server 2016 远程服务器公网 ip 安装 SVN 服务端 下载 svn 服务端安装包:https://www.visualsvn.com/download…...
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
判断时间序列数据是否为平稳时间序列或非平稳时间序列,通常可以通过以下方法: (1)观察时间序列数据的均值和方差是否随时间变化而发生明显的改变。若均值和方差变化明显,则该时间序列数据可能为非平稳时间序列&#x…...
Labview控制APx(Audio Precision)进行测试测量(六)
用 LabVIEW 驱动 VIs生成任意波形 在 APx500 应用程序中,默认波形类型为正弦。这是指 APx 内置的正弦发生器,根据信号路径设置,许多测量还允许其他内置波形,如方波,分裂正弦波或分裂相位,以及使用导入的。w…...
【Linux】网络协议总结
目录 网络协议总结 应用层 传输层 网络层 数据链路层 网络协议总结 应用层 应用层的作用:负责应用程序间沟通,完成一系列业务处理所需服务。能够根据自己的需求,设计对应的应用层协议。了解HTTP协议。理解DNS的原理和工作流程。 传…...
如何轻松注册企业邮箱?快速掌握超简单的注册技巧!
随着互联网的发展,越来越多的企业开始使用电子邮件作为通信工具。企业邮箱不仅可以提高企业的工作效率,还可以使企业通信更加便捷、保密性更高。那么,企业邮箱怎么注册申请呢?下面我们来详细介绍一下。 第一步:选择邮箱…...
【行为型设计模式】C#设计模式之观察者模式
题目:假设你正在开发一个简单的新闻发布系统,该系统允许用户订阅不同的新闻频道,并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义: 观察者模式是一种行为设计模式,它定…...
《Java面向对象程序设计》学习笔记——第 8 章 设计模式
专栏:《Java面向对象程序设计》学习笔记 第 8 章 设计模式 一个好的设计系统往往是易维护、易扩展、易复用的。 8.1 设计模式简介 8.1.1 什么是设计模式 一个设计模式 (pattern) 是针对某一类问题的最佳解决方案,而且己经被成功应用于许多系统的设…...
Java学习笔记28——字节流1
IO流概述和分类 IO流IO流的分类字节流字节流写数据FileOutputStream字节流写数据的三种方式字节流写数据的两个问题字节流写数据加异常处理 IO流 IO:输入输出 流:一种抽象的概念,是对数据传输的总称,流的本质就是数据传输 IO流的…...
C++连接串口方式(MFC版本)(简单版本)
ComSerialPort.h /*_________________________串口________________________________*/class Com_SerialPort { public:Com_SerialPort();Com_SerialPort(int port, int baudRate, int byteSize, int parity, int stopBits);~Com_SerialPort(); public:bool Connect(bool bMut…...
ospf重发布
华子目录 一、实验拓扑二、实验要求三、实验思路1、配置接口IP地址以及环回地址(以此类推)2、配置动态路由协议3、重发布4、更改接口类型5、配置路由策略 一、实验拓扑 二、实验要求 1、使用双点双向重发布2、所有路由器进行最佳选路3、存在备份路径&am…...
基于weka手工实现K-means
一、K-means聚类算法 K均值聚类(K-means clustering)是一种常见的无监督学习算法,用于将数据集中的样本划分为K个不同的类别或簇。它通过最小化样本点与所属簇中心点之间的距离来确定最佳的簇划分。 K均值聚类的基本思想如下: …...
分布式系统监控zabbix安装部署及使用
分布式系统监控zabbix安装部署及使用 一.zabbix监控 1.什么是zabbix zabbix:是一款开源免费的,自动化发现服务与网络设备的分布式监控,可以监视应用层服务并以web前端页面集中管理并展示。 2.zabbix功能 监控服务器cpu负载、服务器内存使…...
【H5】使用 JavaScript 和 CSS 来完成实现鼠标接触时显示一个图片弹窗
以下是一个示例,演示了如何在鼠标接触时显示一个图片弹窗: HTML: <a href"#" class"popup-link" target"_blank"><i class"fab fa-weixin"></i> </a><div id"popup-containe…...
CSS选择器分类梳理并高亮重点
前言 主要内容来自菜鸟教程 CSS 选择器 | 菜鸟教程 分类是我自己理解的分类,示例说明优化统一了表述风格。 正文 选择器CSS示例示例说明基础*2*选择所有元素:root3:root选择文档的根元素element1p选择所有<p>元素:not(selector)3:not(p)选择所有并非p元素…...
Python批量给excel文件加密
有时候我们需要定期给公司外部发邮件,在自动化发邮件的时候需要对文件进行加密传输。本文和你一起来探索用python给单个文件和批量文件加密。 python自动化发邮件可参考【干货】用Python每天定时发送监控邮件。 文章目录 一、安装pypiwin32包二、定义给excel加…...
程序设计 树基础
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
Java 并发编程与CAS基本原理
一、Java并发基础知识 Java里的程序天生就是多线程的,那么有几种新启线程的方式? 两种,启动线程的方式只有: 1、X extends Thread;,然后X.start; 2、X implements Runnable;然后交给Thread运行。 Java…...
qt creater运行按钮灰色,问题记录
第一次安装还没运行就出了三个错误: 1.F:\wei\Qt\Tools\CMake_64\share\cmake-3.24\Modules\CMakeTestCXXCompiler.cmake:62: error: The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/cl.exe" is not able to compil…...
【jvm】类加载器的分类
目录 一、说明二、示例2.1 代码2.2 截图 三、启动类加载器四、扩展类加载器五、应用程序类加载器 一、说明 1.jvm支持两种类型的类加载器,分别是引导类加载器(bootstrap classloader)和自定义类加载器(user-defined classloader&a…...
电路基础之电容
电容器(Capacitor)是由两个导体电极之间夹着一个电介质而组成的元件。这两个电极可以是金属板、箔片、涂层等,而电介质则是放置在电极之间的绝缘材料。电容器的基本构成包括以下几个要素: 电极:电容器的电极是两个导体…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...


