TortoiseSVN安装及使用方法

2023-11-15

安装说明

首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/downloads.html
根据系统位数选择相应客户端进行安装。

image_1ak3avt6j1k2p1f6h1cg711lp3pu9.png-57.9kB

如果你喜欢用命令行操作,请务必记得勾选command line client toolwill be install on local hard driver,不用命令行的跳过这一步。

image_1ak3cf587b5a15j21i9s1ne8uhf1g.png-55kB

然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN即表示安装成功。

image_1ak3cneu9tb6pu8k44rck90k1t.png-135kB

如果勾选了安装命令行工具,那么输入命令SVN,有如下提示也表示安装成功

image_1ak3ctqp61c0a1vku1e30cib9312a.png-9.6kB

但是此时菜单全是英文的,如果你不习惯英文,可以去下载语言包,记得下对系统位数。

image_1ak3b28uv1et21lelqiglpr1krjm.png-46.3kB

安装完语言包之后,可以右键进入setting设置。

image_1ak3d7reg1tdhdqjhfhim319d2n.png-89.7kB

选择你喜欢的语言(比如中文),然后确定,不出意外,现在的语言已经切换到中文了。

image_1ak3dama4kcf1flmr9a8d1hqe34.png-187kB

安装教程到此结束,下面开始介绍SVN的使用。

使用说明

检出项目

假如项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。

image_1ak3do46q18kl1l79c9u4pu1mdd3h.png-21.5kB

现在你看到应该是这个界面,填入版本库地址,选择确定。

image_1ak3dsjn6ha81ojlg2a1b1h67o3u.png-40.8kB

此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。

image_1ak3e0eesor01kg616s81aj11h524b.png-21.5kB

等几分钟就可以检出完毕。

image_1ak3e38931rr19dg1cbd1t8pn3g4o.png-51.4kB

此时在你的目录下就能看到你的项目,现在可以开始愉快的工作了。

image_1ak3e6ja4gnsvep1oaluia2pp55.png-5.3kB

导入项目

但是有时候你已经在本地建立好了项目,需要把你项目推到SVN上,此时应怎么做呢?
右键选择版本库浏览器。

image_1ak3eopb116i6192u14i4c7r1avu6c.png-101kB

在相应目录下,右键,加入文件/加入文件夹,选择相应目录即可。

image_1ak3etni4fba1oi017rv1u6m1gn16p.png-116kB

比如我现在有个项目叫SVNProject,我想把它传到SVN上。

image_1ak3f04bl1k5q1qmrrcmu4m1j2j76.png-50.7kB

那么我只需选择加入文件夹即可。

image_1ak3f5l6f1h8f1rimgee1544sdc7j.png-35kB

务必要输入提交信息。这样别人才能知道你干了什么。

image_1ak3f7oe71gs6mkdlucdrrqq880.png-31.7kB

导入成功就能看到目录。

image_1ak3fbqo13gu1uji53ku5g1bs68d.png-110.6kB

但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出。

image_1ak3fghhcg9fk9oab61n5q1sqg8q.png-110.6kB

在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。
检出过后的右键菜单变成了这样。

image_1ak3fnbnn1ber1u0k1hbs1ti6ovi97.png-24.4kB

提交

绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。

image_1ak3g3u171j9j1r40mbp1hkv12ju9.png-4.1kB

假如我现在在我是新项目.txt中加了一行字,然后保存。

image_1ak3g7ct21svq1lrejruu6e16okm.png-6.1kB

发现现在变成了红色,红色表示已修改。

image_1ak3g9vfl1rqc1mvb19s81hg1t3913.png-4.9kB

怎么提交修改?
在根目录下,右键选择提交。

image_1ak3gdc7j17dt1n50d1l8e1trp1g.png-25.2kB

务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。

image_1ak3gif5h13l11rfmorm87g5a71t.png-74kB

提交完毕后,可以发现又恢复到了绿色。

image_1ak3gngr3o2amk41abkod91ogi2a.png-5kB

假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。

image_1ak3grpb5hgbs62sj4tthfql2n.png-11.6kB

记住选择增加把它加入到版本库里面去。

image_1ak3h1boe1njh1dhrhu1bjr1t333k.png-50.7kB

增加完毕后,变成了蓝色加号,表示新增加的版本库文件。

image_1ak3h5j9j1j4cnfhhq2vv2lba41.png-4.3kB

接下来,只需写代码,然后提交即可。
删除文件也应该右键提交,如下。

image_1ak3hcqrakda18mc5pg1dlke4d4e.png-57.7kB

记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。

更新

假如你和B同学在协作。B同学写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过的新的,你是提交不上去的,必须先更新再提交)。
怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。

image_1ak3i1mon1f871qr9178eds61qoq4r.png-100.3kB

右键选择HEAD和BASE比较。

image_1ak3i7ql4mre1t6e17r717o81nlq58.png-22.9kB

左边的表示你的代码,右边的表示服务器上的代码。

image_1ak3i9ado1p6cv6aoh460210it5l.png-117.7kB

如果有修改记得及时更新到本地然后再继续工作。

但是有时候更新会冲突,比如你和服务器上的改了同一个地方。
这时候你需要更新下来解决冲突。

image_1ak3ihv861ceq1gko16jl1uu3mqe62.png-68.8kB

它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可。

image_1ak3ikl7a1c9dmk619r9d371mui6f.png-11.4kB

<<<<<<.mine到====表示你的代码,其他表示服务器的代码。你只需改成你想要的。

image_1ak3iojkm7ic6911jr39021qk46s.png-5.1kB

然后选择解决,告诉SVN我已经解决冲突了就行了。

image_1ak3itj8gt8315rf1flij6k1l1979.png-41.3kB

剩下的就是团队协作间的更新提交操作,这里不做赘述。

查看日志

选择显示日志,可以看出团队里面的人干了什么。

image_1ak3j48bv6r9tnm821u3gpjn7m.png-30kB

可以看出谁谁谁,什么时间,干了什么事。最后那一列信息是自己提交的时候写的。建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。

image_1ak3j7va3jbt147j1s2thni1eui83.png-98.6kB

版本回滚

如果你改了东西,但是还没有提交,可以使用还原功能。
image_1ak4pcd3bpac328t5u1mas1k1v9.png-103kB
但是如果我们写错了东西并且提交了上去怎么办?通过版本回滚可以将文件恢复到
以前的版本。右键更新至版本,通过查看日志来选择版本,然后回滚即可。
image_1ak3k9pl5nt0euj10eob6e1pai8t.png-21.1kB

有时候我们需要查看以前版本的代码。此时我们可以新建个文件夹检出到指定版本。

image_1ak3kifgr1b1q1fv0p871f25jda9a.png-158.9kB

版本控制

版本控制有好几种方法,如下。

  1. 在提交发布版本时添加版本信息,这是最简单的一种方法。
    image_1ak3locvo1ndq4pg1nohuhn1fh89n.png-17.1kB

  2. 打标签
    每次发布版本时应该打标签。右键选择分支/标记。在至路径以版本号打上标签即可
    image_1ak3muiav1t0o9v21a5qfnt3ut9.png-28.3kB
    image_1ak4tm0e3aal1t71r94p941h9p2a.png-80kB
    这样你就有了一个v1.0版本的标签。
    以后如果你想查看某个版本的代码,只需切换过去就行
    image_1ak3n7ai51l6b77j10811plc12ba13.png-14.9kB

总结

我们在日常使用中,最常用的是更新和提交操作。这两个步骤务必要非常熟练。其他的可以在遇到问题是查看文档。此外,需要注意的是,所有版本控制工具只能跟踪文本文件(能用记事本打开查看的文件),不要妄想SVN能记录你word改了哪一行。一旦遇到word冲突,记住仔细对比两个版本,然后解决冲突。

参考链接:https://blog.csdn.net/maplejaw_/article/details/52874348

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TortoiseSVN安装及使用方法 的相关文章

  • Kubespray-offline v2.21.0-1 下载 Kubespray v2.22.1 离线部署 kubernetes v1.25.6

    文章目录 1 目标 2 预备条件 3 vcenter 创建虚拟机 4 系统初始化 4 1 配置网卡 4 2 配置主机名 4 3 内核参数 5 打快照 6 安装 git 7 配置科学 8 安装 docker 9 下载介质 9 1 下载安装 d
  • Linux文件编程常用函数详解——exit()和_exit()函数

    两个函数的区别
  • MongoDB未授权访问漏洞复现及加固

    说明 仅供技术学习交流 请勿用于非法行为 否则后果自负 0x01 漏洞简述 MongoDB是一个介于关系数据库和非关系数据库之间的产品 是非关系数据库当中功能最丰富 最像关系数据库的 它支持的数据结构非常松散 是类似json的bson格式
  • K8s Pod 控制器(一)

    K8s workload architecture 一 RC RS 控制器 控制Pod 使Pod拥有自愈 多副本 扩缩容的能力 RC的定义包括如下几个部分 1 Pod期待的副本数 replicas 2 用于筛选目标Pod的Label Sel
  • vscode常用快捷键使用

    Ctrl K S 全部保存 Save All Ctrl S 保存 Save ctrl f 搜索 alt 方向键右 跳转到定义 F12 转到定义 Go to Definition alt 方向键左 返回跳转 F1 或 Ctrl Shift P
  • 【华为OD机试真题 python】最大平分数组【2022 Q4

    题目描述 最大平分数组 给定一个数组nums 可以将元素分为若干个组 使得每组和相等 求出满足条件的所有分组中 最大的平分组个数 输入描述 第一行输入 m 接着输入m个数 表示此数组 数据范围 1 lt M lt 50 1 lt nums
  • 漫画:什么是中台?

    没有中台的时代 在传统IT企业 项目的物理结构是什么样的呢 无论项目内部的如何复杂 都可分为 前台 和 后台 这两部分 什么是前台 首先 这里所说的 前台 和 前端 并不是一回事 所谓前台即包括各种和用户直接交互的界面 比如web页面 手机
  • CH1-Android基础入门

    文章目录 目标 一 资源的管理与使用 1 1 图片资源 1 2 主题和样式资源 1 3 布局资源 1 4 字符串资源 1 5 颜色资源 定义颜色值 1 6 尺寸资源 Android支持的尺寸单位 二 程序调试 2 1 单元测试 2 2 注意
  • hive中解决中文乱码

    一 个人初始开发环境的基本情况以及Hive元数据库说明 hive的元数据库改成了mysql 安装完mysql之后也没有进行其它别的设置 hive site xml中设置元数据库对应的配置为 jdbc mysql crxy99 3306 hi
  • Vue使用高德地图搜索功能

    下载依赖 yarn add amap amap jsapi loader 2 初始化高德地图 设置key和秘钥
  • Python numpy练习,纯英文ipynb作业26题,100%正确答案(付费)

    md Assigment 2 Instructions This problem set should be done individually Answer each question in the designated space be
  • njx如何实现负载均衡_LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡

    前言 首先声明下 由于这两天找资料 看了不少博客 但是出于不细心 参考者的博客地址没有记录下来 所有文中要是出现了与大家博客相同的地方 那么请大家在评论区说明并附上博客地址 我好引用进来 这里表示抱歉了 另外 本文是在我的另一篇博客主从热备
  • element-ui渲染el-table表格小技巧

    element ui中table的使用 当el table元素中注入data对象数组后 在el table column中用prop属性来对应对象中的键名即可填入数据 用label属性来定义表格的列名 可以使用width属性来定义列宽 相当
  • Qt 多项目系统中如何指定各项目的编译顺序 (***笔记)

    QT学习笔记 QT多项目系统中如何指定各项目的编译顺序 Qt pri 创建使用 pri文件 Qt pro文件 pri文件的写法 Qt 多项目系统中如何指定各项目的编译顺序 笔记 https blog csdn net ken2232 art
  • 目标跟踪算法——KCF入门详解

    一直以来没有很想写这个 以为这个东西比较简单 还算是比较容易理解的一个算法 但是在知乎上回答过一个问题之后就有朋友私信我一些关于细节的东西 我一直以为关于细节的东西大家可以自己去理解 大家都是想快速了解这个 那我就厚脸皮了在这写一下自己的见
  • 场景二:Git远程版本库的基本用法

    1 克隆远程版本库 如果你已经在Gitee或者GitHub等网站上创建了Git版本库 可以通过git clone命令 将版本库克隆到本地完成本地版本库的初始化 git clone命令的用法如下 git clone https DOMAIN
  • 由羽毛球拍想到的

    羽毛球拍 品牌太多 如何选择 看到红双喜厂商的具体套路 才知这个市场与手机市场一样 都是低端的外包 高端的自己做 但是 球拍这个东西高端的和低端的普通人能看出区别 许多生活中的产品都是如此 例如空调 格力之类的空调压缩机许多也是采购第三方的
  • Python之花舞盛宴:探索列表与元组之美与妙用

    前言 在Python编程世界中 列表和元组是两个最常用的数据结构之一 无论是初学者还是经验丰富的开发者 对于这两个数据类型的掌握都至关重要 列表和元组都是用于存储多个值的容器 但它们在性质和特性上有所不同 列表是可变的 可以随意修改 添加或

随机推荐

  • 用java有理数类包含加减乘除,7.1 面向对象的简介 - VimL 语言编程指北路

    面向对象是一种编程思想 并不特指某种编程语言 所以不必惊讶用 VimL 也能以面向 对象的方式来写代码 本章先简单介绍一下面向对象的编程思想 再探讨如何利用 VimL 现有的特性实现面向对象编程 最后应由用户自行决定是否有必要使用面向对象的
  • C++学习系列之求圆柱体的体积

    实例要求 以函数调用的方式 求圆柱体的体积 主函数中先输入圆柱体的半径和高 调用求体积的函数 输出结果 代码如下 include
  • linux服务器运维

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 no space left on device 原因 磁盘满了 inode耗尽
  • 如何将Web主页性能提升十倍以上?

    给IT平头哥联盟加星标 提升前端技能 作者 exAspArk 译者 核子可乐 最近 我们将 Universe com 主页的性能提升了十倍以上 在本文中 我们将解析实现这一重大改进的具体技术手段 但在开始之前 让我们先对网络性能的重要意义进
  • C 基本语法

    原文链接 https www runoob com cprogramming c basic syntax html 我们已经看过 C 程序的基本结构 这将有助于我们理解 C 语言的其他基本的构建块 C 的令牌 Tokens C 程序由各种
  • Selenium+python之不打开浏览器,来运行测试用例

    调用浏览器 来进行自动化测试 是一个常规操作 或者说针对少量测试用例 可以打开浏览器运行 但是针对大量运行测试用例来说 如果每个测试用例都需要调用一次 浏览器 那么无疑对服务器增加了巨大的压力 那么有没有一个办法 不调用浏览器 让浏览器在后
  • (只需两步)让ChatGPT免费帮你制作出漂亮的PPT

    目录 第一步 生成 PPT 代码 第二步 将代码转化为 PPT 还在为制作PPT而烦恼吗 让ChatGPT来帮您 本篇文章介绍如何利用ChatGPT一键生成PPT文字和样式 省时省力又专业 真的只需两步 真的非常简单 以下部分生成效果 pp
  • bash和sh的区别

    一 简述 Shell 中文意思贝壳 寓意类似内核的壳 Shell是指一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内核的服务 Shell 是一个用 C 语言编写的程序 它是用户使用 Linux 的桥梁 Shell 既
  • 一文搞懂Ubuntu环境变量

    用户级别的环境变量 bash profile bash login bashrc 坑的原理 1 当bash shell作为登录shell启动时 比如用户登录系统时 首先会查找并执行 bash profile文件 如果这个文件不存在 那么它会
  • R根据列名提取想要的列

    数据格式如下 a b c d e 1 2 3 4 5 使用select过滤不要的列 df which names df in c a b subset df select c a b 使用select选择想要的列 df c x y subs
  • 微信小程序 真机调试无法请求localhost

    问题描述 在微信开发者工具里能正常请求后台数据 但真机调试时 却报localhost请求失败的错误 解决方案 在客户端的config js中 把host里的localhost改成本机在局域网里的ip地址即可 服务端可继续沿用localhos
  • 【云原生】kubectl常用命令大全

    目录 一 资源管理方法 kubectl 的命令大全 二 kubectl常用命令大全 2 2 项目的生命周期 创建 gt 发布 gt 更新 gt 回滚 gt 删除 1 创建 kubectl create命令 2 发布 kubectl expo
  • plt.show无法显示图片

    省流 Linux系统本来就没有图形界面 import matplotlib pyplot as plt plt savefig img png 引号里是保存的路径 像此处示例就是相对路径 保存在当前文件夹 远程服务器连接Linux系统 则保
  • SpringAOP+自定义注解实现日志功能

    SpringAOP 自定义注解实现日志功能 上篇文章讲解了springAOP实现简单日志功能 这次讲解使用自定义注解实现日志功能 具体pom Spring SpringMVC的配置不再进行讲解 详情点击链接查看SpringAOP Aspec
  • 前端性能优化之Gzip

    前端性能优化之Gzip 什么是GZIP gzip是GNUzip的缩写 它是一个GNU自由软件的文件压缩程序 它是Jean loupGailly和MarkAdler一起开发的 压缩原理 Gzip 压缩背后的原理 是在一个文本文件中找出一些重复
  • Flutter 23: 图解 PopupMenu 那些事儿

    小菜需要处理标题栏弹出对话框 PopupMenu 样式 Flutter 当然提供了一些处理方式 类似 PopupMenuEntry 等 小菜仅就最基础的使用方式进行初步的学习和整理 PopupMenuItem 基本样式 PopupMenuI
  • 同态加密的基本概念

    所谓的同态加密 HE homomorphic encryption 是指 对明文m加密 得到密文c 满足f c 是f m 的密文 其中f是任意属于某个函数族F的函数 明文可以是单个明文 也可以是明文向量 对应的为单个密文和密文向量 而对应的
  • JAVA多线程之当一个线程在执行死循环时会影响另外一个线程吗?

    一 问题描述 假设有两个线程在并发运行 一个线程执行的代码中含有一个死循环如 while true 当该线程在执行while true 中代码时 另一个线程会有机会执行吗 二 示例代码 代码来源于互联网 1 public class Ser
  • redis的有序集合在score相同的情况 下是如何排序的

    前两天倒腾redis的有序集合时 自己发现了一个问题 redis的有序集合在score相同的情况 下是如何排序的 通过谷歌搜索 发现了一些线索 在score相同的情况下 redis使用字典排序 不过不是太明白什么是字典排序 这就是非科班出生
  • TortoiseSVN安装及使用方法

    安装说明 首先安装SVN客户端 windows一般选择乌龟客户端https tortoisesvn net downloads html 根据系统位数选择相应客户端进行安装 如果你喜欢用命令行操作 请务必记得勾选command line c