IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 无废话版SVN使用指南(包括idea的配置) -> 正文阅读

[开发工具]无废话版SVN使用指南(包括idea的配置)

一,SVN介绍

1.1 简介

SVN全程Subversion,是一个开放源代码的版本控制系统,管理着随时间,改变的数据。
这些数据存放在一个中央资料档案库repository(类似一个普通文件服务器)中,但它会记住每一次文件的变动。

总结:SVN就是用于多人共同开发同一个项目,公用资源的目的。

1.2 主要作用

  • 目录版本控制(一句事件跟踪整个目录变动)
  • 真实版本历史(做了改动系统会新加版本)
  • 自动提交(只有当所有文件没问题时才显示成功,否则不成功)

1.3 基本概念

  • Repository(源代码库):源代码统一存放的地方
  • Checkout(提取):当你手上没有源代码的时候你要从repository中checkout一份
  • Commit(提交):当你已经修改了代码,你就需要commit到repository
  • Update(更新):当你已经Checkout了一份源代码,Update后就可以和Repository上的源代码同步

1.4 工作流程

在这里插入图片描述

1.5 生命周期

1.5.1 创建版本库

版本库相当于一个集中的空间,用于存放开发者的所有工作成果。
还包括了每次修改的历史。即每个文件的变动历史

Create操作可以创建一个版本库。大多情况下这个操作只会制定一次。

1.5.2 检出

Checkout操作是用来从版本库创建一个工作副本。工作副本是开发者私人的工作空间。可以进行内容的修改然后提交到版本库中

1.5.3 更新

update操作用来更新版本。这个操作将工作副本与版本库同步,由于版本库是由整个团队公用的。当其他人提交改动后你的工作副本就会过期。

1.5.4 执行变更

检出之后,你可以做很多操作来执行变更。编辑是最常用的操作。你可以编辑已存在的文件夹,(进行文件的添加/删除)

你可以添加文件/目录,也可以删除文件/目录。这些操作都只会在你的工作副本中实现,知道执行了commit操作后才会真正删除

1.5.5 复查变化

当你检出工作副本或者更新工作副本后,你的工作副本与版本库完全同步。
但是当年对工作副本进行修改后你的工作副本比版本库要信,在commit操作之前复查下你的修改是一个很好的习惯。

Status操作列出来工作副本中所进行的变动。但只是提供了一个变动列表,你可以用dif操作来查看这些变动的详细信息。

1.5.6 修复错误

修改然而不想做这些修改,使用Revert操作可以重置对工作副本的修改。

1.5.7 解决冲突

合并的时候可能会发生冲突。Merge操作会自动处理可以安全合并的东西,其他的会被当做冲突。

冲突需要人为处理。Resole操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突。

1.5.8 提交更改

Commit操作用来将更改从工作副本提交到版本库。

在提交之前,你必须将文件/目录提交到代耕列表中。列表中记录了将会被提价的改动。当提交的时候我们通常会提供一个注释来说明为什么会进行这些改动。这个注释也会成为版本库历史记录了的一部分。

二,安装配置SVN

SVN有服务端(仓库)和客户端(提交更新)

2.1 服务端下载

SVN服务端下载
在这里插入图片描述
在下载服务端时需要配置,除了地址之外其他选项几乎不用修改,默认配置即可
一般情况下,一个团队只需要一个服务端,其他人来访问即可

2.2 客户端下载(小乌龟)

服务端下载
注意
在这里插入图片描述

第二行这个选修一定要勾选
在这里插入图片描述
如果不勾选则无法与我们的编译器联系在一起。
一通默认,安装完成后,如果你在你的桌面右键之后可以看到
在这里插入图片描述
即安装成功。

2.3 配置

说明:服务器端需要提供IP,端口,账号,密码供客户端使用,即有如下配置

2.3.1 设置IP和端口

请根据下面步骤操作
1.打开服务器,选择下标蓝色处
在这里插入图片描述
在这里插入图片描述
2.点击Network
在这里插入图片描述
server name的值可以设置为:
电脑用户名,当前IP(能够拼通IP的用户均可访问)
在这里插入图片描述
(注:查看当前IP:打开cmd窗口(windows+R键),输入ipconfig,按回车
写pi可以让客户端访问)
severport使用默认值即可

3.访问我们的服务器
地址:在这里插入图片描述
访问地址
在这里插入图片描述
是否访问,点击continue
在这里插入图片描述

在这里插入图片描述
则配置成功

2.3.2 创建账号

在这里插入图片描述
在这里插入图片描述

2.3.3 新建分组

在这里插入图片描述

刚刚我们注册了自己的账号
可以在users中显示出来(也可以点击右键删除或者set password重置密码)
在这里插入图片描述
创建分组
在这里插入图片描述
把两个用户分入一个组
在这里插入图片描述
再次登录服务器如果正常则代表可以正常访问,服务。

三,SVN的使用

3.1 新建版本库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择上面的选项意味着建立一个新的空仓库。
选择下面的选项意味着新建一个有三个文件夹的仓库,这三个文件夹也是空的
在这里插入图片描述
设置仓库访问权限。三行分别是:
没有人有访问权限;所有的svn用户都有读/写的权限;自定义权限。点击按钮可以设置自定义权限
完成上述步骤后会给你一个网址,按照网址访问
版本库创建完成
在这里插入图片描述

3.2 迁入项目到SVN(import)

copy你版本库所在的地址
一般都是trunk,这三个单词意思分别是分支,标签,躯干
在这里插入图片描述
选择任意项目,右键选择TortoiseSVN,选择import
在这里插入图片描述
将此地址赋值到地址栏,并在下面文本输入框中备注信息
在这里插入图片描述
弹出框,选择永久接受(第一行)
在这里插入图片描述
输入你的账号密码
在这里插入图片描述
导入成功
在这里插入图片描述
仓库刷新就可以看到项目
在这里插入图片描述
浏览器中刷新可以看到
在这里插入图片描述

3.3 检索项目

复制想要下载的地址(想要检索哪一个文件夹就复制哪一个,比如我想检索trunk)
在这里插入图片描述
在需要检索项目的目录中,选择右键SVN Checkout
在这里插入图片描述

点击后有输入框,把刚刚复制的地址填入输入框中即可
然后检索成功在这里插入图片描述
已经成功啦,项目的文件夹可以单独看到
在这里插入图片描述

3.4 提交代码

笔者在根目录中创建了一个hello.txt
在这里插入图片描述
在这里插入图片描述
点击add完成上述步骤之后再提交在这里插入图片描述
这时候就能看到仓库和浏览器中都同步了
在这里插入图片描述
在这里插入图片描述

3.5 更新代码(update)

如果当前资本不是最新版本,则可以在哎项目中空白地方右键选择SVN Update
模拟一个B用户,检索之后
在这里插入图片描述
对hello进行修改
然后对B进行提价
但是现在B用户已经更新了版本而A用户还是旧的版本
update一下
在这里插入图片描述
在这里插入图片描述
更新成功

3.6 版本冲突问题

3.6.1 版本冲突原因

假设A,B用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后把它提交到服务器,提交成功,版本编程101。B用户在版本号为100的时候修改,修改完成后到服务器。由于不是在101上做的修改所以提交失败,此时B要去更新文件,如果A,B修改了同一行代码则会发生冲突

3.6.2 版本冲突解决

方法一:放弃更新,利用svn revert(回滚),然后提交。
方法二:放弃更新,使用别人的更新,使用最新获取的版本覆盖目标文件。执行resolved filename并提交(选择文件-右键-解决)
方法三:手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件,然后执行resolved filename来解除冲突,最后提交

执行update-发现冲突-看版本-选择小乌龟编辑冲突-把想要选出来-标记解决-保存-提交

见下图:
首先把A和B的hello的同一行同时改动
在这里插入图片描述
在这里插入图片描述
先对A用户进行提交,版本+1
在这里插入图片描述
B也一样
告诉你过期
在这里插入图片描述
在这里插入图片描述
先不解决先关掉
关闭上框后会有注意冲突的提示
然后再一次选择提交
在这里插入图片描述
要不要更新?选择更新告诉你有冲突
在这里插入图片描述
再看这个B中有4版本5版本和你自己的
在这里插入图片描述
现在怎么办?
可以把提示冲突的框关掉自己去解决,也可以双击打开下面变蓝的这一行
在这里插入图片描述
在这里插入图片描述
或者如果你不想打开你可以选择文件,右键小乌龟点击编辑冲突也可以出来刚刚的页面
在这里插入图片描述
想要哪个版本可以直接使用
尽量别拿自己的覆盖别人的,除非你别人商量
在这里插入图片描述
如果两个都想要把两个都拷贝放在下面
在这里插入图片描述
然后再标注为解决(Mark as resolved 标记冲突已解决),然后再按save解决。
这个时候其他版本都没有了,你的数据变成了你刚改动的
在这里插入图片描述
常有冲突怎么预防

  • 在修改代码前更新
  • 频繁提交
  • 要尽可能写出自己修改的地方

四,idea集成使用SVN

首先你需要下载idea,idea的下载可以去官网或者其他破解版
然后小乌龟当时的第二项需要勾选否则将无法进行,如果没有勾选需要重新下载

在全局设置中找到Subversion
在这里插入图片描述
在右上角的输入框中找到你的svn.eve。然后勾选第二个即可。
最后点击应用,然后点击确定,svn便配置成功。最后再重启idea即可

五,使用SVN

5.1 检索项目

1.VS-选择checkout fromVersion Control->Subversion
2.添加远程仓库中项目的URL
在这里插入图片描述

选一个与SVN相关的目录
在这里插入图片描述

我选择的是A,就是我前面写的A,打开即可
在这里插入图片描述
再选择版本控制->SVN
然后就会出现相关操作
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:28:46  更:2021-10-09 16:29:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/23 14:46:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计