如何在Windows部署TortoiseSVN客户端并实现公网连接内网VisualSVN服务端

文章目录

    • 前言
    • 1. TortoiseSVN 客户端下载安装
    • 2. 创建检出文件夹
    • 3. 创建与提交文件
    • 4. 公网访问测试

前言

TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用户进行版本控制和团队协作,广泛应用于软件开发和项目管理领域。

TortoiseSVN主要用于管理项目代码的版本控制,可以追踪文件的修改、记录变更历史、解决冲突等。它通过图形化界面和上下文菜单,使用户能够直观地执行SVN操作,例如提交文件、更新代码、创建分支、合并变更等。

在上一篇教程中,我们知道了如何在Windows系统搭建VisualSVN服务结合内网穿透实现公网访问,那么本篇教程就来说说在Windows系统如何安装与使用TortoiseSVN客户端,并结合cpolar内网穿透实现随时随地在公网提交文件到本地SVN服务器。

1. TortoiseSVN 客户端下载安装

首先,进入官网选择合适版本的应用程序下载,本教程中选择的是TortoiseSVN 1.14.5 - 64-bit版本。

下载地址:https://tortoisesvn.net/downloads.html

image-20230927160859407

然后下拉页面,选择需要下载的语言包,本教程选择了简体中文,下载后得到的语言包文件名为:LanguagePack_1.14.5.29465-x64-zh_CN

image-20230927161745771

双击下载好的TortoiseSVN 程序开始安装,点击【Next】进入下一步:

image-20230927165951118

点击【Next】进入下一步:

image-20230927170041379

点击【Next】进入下一步:

image-20230927170119049

点击【Install】开始安装:

image-20230927170146854

提示需要重启完成安装,可以马上重启,也可以一会重启。点击OK继续:

image-20230927170337196

点击【Finish】安装完成:

image-20230927170610257

点击【Yes】后电脑会进行重启,完成安装。

image-20230927170658103

重启之后,我们双击下载好的 TortoiseSVN 语言包程序进行安装,点击【下一步】:

image-20230927171649682

勾选语言包生效,点击【完成】:

image-20230927171953829

2. 创建检出文件夹

此时,全部安装完成,桌面右键菜单会多出两个选项:

SVN检出TortoiseSVN

image-20230927172301200

首先在打算创建检出文件的磁盘目录中新建一个文件夹,然后右键菜单点击SVN检出新建一个检出文件:

本教程中选择在D盘创建文件夹SVNtest与文件,大家可以自行选择路径。

image-20230927174045806

此处的版本库URL需要选择上传SVN服务端的版本库地址

这个地址我们在上一篇SVN服务端安装教程中,结合cpolar内网穿透工具生成了一个可公网访问的地址。

详情可以点击Windows系统搭建VisualSVN服务结合内网穿透实现公网访问进行查看

在浏览器打开这个链接:http://mysvn.vip.cpolar.cn

image-20230927175441589

点击Checkout,可以看到用来上传的项目版本库地址。

复制这个地址粘贴到上图中需要填写的版本库URL框内,然后点击确定:

image-20230927175718841

然后再弹出的界面输入SVN 服务端分配的用户名和密码,即在上一篇教程中我们设置的admin123456

image-20230927175946767

看到下面界面代表检出成功!点击确定

image-20230927180034937

3. 创建与提交文件

现在大家就可以在需要检出的文件夹中新建文件,这里为了演示测试,随便建了一个测试文本svntest,然后鼠标右键点击空白处,选择SVN 提交。

image-20230927180421815

在弹出的界面中把需要提交的文件勾选上,点击【确定】。

image-20230927180547593

看到提交完成后,点击【确定】就可以了。

image-20230927180638823

4. 公网访问测试

此时,我们就可以在浏览器输入通过cpolar内网穿透工具生成的固定公网地址,随时随地实现在公网访问VisualSVN服务端查看通过TortoiseSVN提交的文件了。

image-20230927180755584

输入通过cpolar内网穿透工具生成的固定公网地址,随时随地实现在公网访问VisualSVN服务端查看通过TortoiseSVN提交的文件了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/417401.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter开发之Slider

Flutter开发之Slider 本文是关于介绍Slider相关属性的含义。 class SliderThemeData {/// slider轨道的高度 final double? trackHeight; /// 滑块滑过的轨道颜色 final Color? activeTrackColor; /// 滑块未滑过的轨道颜色 final Color? inactiveTrackColor; /// 滑块滑过…

JavaEE——简单认识JavaScript

文章目录 一、简单认识 JavaScript 的组成二、基本的输入输出和简单语法三、变量的使用四、JS 中的动态类型图示解释常见语言的类型形式 五、JS中的数组六、JS 中的函数七、JS 中的对象 一、简单认识 JavaScript 的组成 对于 JavaScript ,其中的组成大致分为下面的…

多线程如何设计?一对多/多对一/多对多

二、14个多线程设计模式 参考原文:https://www.cnblogs.com/rainbowbridge/p/17443503.html single Thread 模式 一座桥只能通过一个人 Single Thread模式是一种单线程设计模式,即在一个应用程序中只有一个主线程、一个事件循环,对外只提…

【C语言基础】:深入理解指针(一)

文章目录 一、内存和地址1. 内存2. 如何理解编址 二、指针变量和地址2.1 取地址操作符(&)2.2 指针变量和解引用操作符(*)2.2.1 指针变量2.2.2 如何拆解指针变量2.2.3 解引用操作符 2.3 指针变量的大小 三、指针变量类型的意义3.1 指针的解引用3.2 指针 - 整数3.3 void*指针…

什么是物联网?

今天这篇文章写的相关内容就是带领大家了解什么是物联网,之前写的文章大多都是一些物联网的未来,行业的解决方案等;话不多说开始进入正题吧! 物联网(IoT)是一个包罗万象的术语,指的是越来越多的电子产品,它们不是传统的…

vue2+elementui上传照片(el-upload 超简单)

文章目录 element上传附件(el-upload 超详细)代码展示html代码data中methods中接口写法 总结 element上传附件(el-upload 超详细) 这个功能其实比较常见的功能,后台管理系统基本上都有,这就离不开element的…

计算机组成原理4-存储器的层次结构与程序访问的局部性原理

1. 磁盘 1.磁盘的结构 磁盘由盘片构成,每个盘片包含两面 每面由一组称为磁道的同心圆组成 每个磁道划分为一组扇区,扇区之间由间隙隔开 同一半径上的所有磁道组成一个柱面2.磁盘的容量 容量:磁盘上可以存储的最大位数。 决定因素&#xff1a…

【玩转408数据结构】线性表——双链表、循环链表和静态链表(线性表的链式表示 下)

知识回顾 在前面的学习中,我们已经了解到了链表(线性表的链式存储)的一些基本特点,并且深入的研究探讨了单链表的一些特性,我们知道,单链表在实现插入删除上,是要比顺序表方便的,但是…

IDEA利用鼠标调整字体大小

就可以按住ctrl和鼠标调节代码字体的大小啦! 如果有用,记得给我来个赞~ 谢啦!

【python基础学习07课_函数基础课】

一、函数的基础知识 一、函数的作用是用来干什么的? 函数在编程中是一个组织好的、可重复使用的代码块,用于执行一个特定的任务。具体来说,函数的常见作用包括:1、执行计算或数据处理。 2、控制程序的流程,如条件判断…

Java+SpringBoot+Vue+MySQL:员工健康管理技术新组合

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

压缩式 交换式 碎片整理 :(使碎片减少或没有)

交换式碎片整理 首先流程 是 p3这个程序在运行,p1p2p4 的话在等待 ,然后p3这时要多用3个内存块,这是 p4 通过拷贝,将内存拷贝到磁盘上,对应的数据也是从主存中cp到磁盘此时主存多出3个内存块给p3继续使用 2.压缩式碎片…

QML中动态增加表格数据

1.QML中的表格实现 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableModel{id:table_modelTabl…

Transformer之self-attention

注意力是一个有助于提高神经机器翻译应用程序性能的概念。在这篇文章中,我们将看看Transformer,一个使用注意力来提高这些模型训练速度的模型。Transformer在特定任务中优于谷歌神经机器翻译模型。最大的好处来自于Transformer如何使自己适合并行化。 在…

135.乐理基础-半音是小二度吗?全音是大二度吗?三全音

内存参考于:三分钟音乐社 上一个内容:134.乐理基础-音程名字的简写-CSDN博客 上一个内容里练习的答案: 半音可以与小二度划等号吗?全音可以和大二度划等号吗? 严格来说它们是不能划等号的,半音与全音是侧…

Android Studio level过滤查看各个等级的日志

Android Studio level过滤查看各个等级的日志 旧版as可以在下方的日志输出框选择debug、info,warn、error日志,新版的需要通过在过滤框手动/联想输入 level:xxx,过滤相应等级的日志,如图: android studio/idea返回/前进…

vue使用gitshot生成gif

vue使用gitshot生成gif 问题背景 本文将介绍vue中使用gitshot生成gif。 问题分析 解决思路: 使用input组件上传一个视频,获取视频文件后用一个video组件进行播放,播放过程进行截图生成图片数组。 demo演示上传一个视频,然后生…

Python 从文件中读取JSON 数据并解析转存

文章目录 文章开篇Json简介Json数据类型Json硬性规则Json数据转化网站Json和Dict类型转换json模块的使用Python数据和Json数据的类型映射json.dumps1.字典数据中含有**存在中文**2.json数据通过缩进符**美观输出**3.对Python数据类型中键进行**排序输出**4.json数据**分隔符的控…

K8S常用kubectl命令汇总(持续更新中)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Leetcode—63. 不同路径 II【中等】

2024每日刷题&#xff08;115&#xff09; Leetcode—63. 不同路径 II 动态规划算法思想 实现代码 class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m obstacleGrid.size();int n obstacleGrid[0].size();…