大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
SVN教程
1、SVN常见操作
- 发布项目(share project)
- 项目组长将本机项目第一次发布到中央仓库中
- 下载项目(检出项目check out)
- 组员将中央仓库中的项目第一次下载到本地
- 提交(commit)
- 将本地修改的内容同步到服务器中(本地 => 服务器)
- 编写完一个小功能之后、每天下班前一定要及时提交
- 更新(update)
- 将服务器中最新的代码同步到本地(服务器=>本地)
- 编写功能之前,每天上班前一定要及时更新
2、SVN安装
2.1 svn 服务端
- 下载地址:visualsvn
-
双击下载的安装程序
-
如图步骤安装
2.2 svn 客户端(小乌龟)
- 下载地址:TortoiseSVN
-
双击安装程序
-
安装步骤如图所示
3、配置
说明:服务器端需要提供IP,端口,账号,密码供客户端使用。
3.1 配置ip和端口
Server name的值可以设置为:
- 127.0.0.1(只能本地自己访问)
- 电脑用户名(只能本地自己访问)
- 电脑ip(能够通过ip访问的用户均可)
Server Port使用默认值即可
3.2 新建用户
3.3 新建分组
4、SVN的使用
4.1 新建版本库
-
选择Repositories右键,选择Create New Repostiory
-
使用默认设置,选择下一步
-
设置仓库的名字
-
创建仓库
-
设置用户访问权限
-
创建成功
4.2 导入项目到svn(import)
-
复制仓库地址
-
找到自己的项目右键,选择TorstoiseSVN,选择导入
-
选择上传的位置
-
项目导入
-
查看是否导入成
4.3 检索项目(check out)
-
复制远程仓库中项目的地址
-
在本地任意位置检出
-
导出项目到本地
-
检出成功
4.4 提交代码 (commit)
-
选择修改好的文件邮件,选择TortoiseSVN,选择加入
-
提交项目
-
查看是否更新成功
4.5 更新代码(update)
-
在项目任意位置邮件,更新
-
查看更新信息
4.6 版本冲突问题
4.6.1 版本冲突的原因
有A、b两位用户同时检索到项目的版本1,然后B先修改了文件并且提交了,然后A提交文件时会发现修改的文件与B的文件有冲突的地方,系统不知道该如何将A提交的文件更新到仓库的项目中。
4.6.2 版本冲突的现象
冲突发生时, subversion会在当前工作目录中保存所有的目标文件版本[上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]。
假设文件名是 kingtuns.txt
对应的文件名分别是
- kingtuns.txt.r101 上次更新版本
- kingtuns.txt.r102 当前获取的版本
- kingtuns.txt.mine 自己更新的版本
- kingtuns.txt 目标文件
同时在目标文件中标记来自不同用户的更改。
4.6.3 场景
-
A用户检出版本5的项目
-
B用户检出版本5的项目
-
A用户修改hello.txt文件并提交
此时仓库中的版本已经变为6
-
B用户修改项目并提交
B用户将文件提交至服务器时,提示版本过期:首先应该从版本库更新版本,然后去解决冲突,冲突解决后要执行 svn resolved(解决),然后在签入到版本库。在冲突解决之后,需要使用svn resolved(解决)来告诉subversion冲突解决,这样才能提交更新
4.6.4 解决冲突的三种方法
- 放弃自己的更新,使用 svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)
- 放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行 resolved filename并提交(选择文件一右键一解决)
- 手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行 resolved filename来解除冲突,最后提交。
4.6.5 解决冲突
-
在冲突的文件上右键,选择TortoiseSVN,编辑冲突
-
手动处理冲突文件
-
提交文件
4.6.6 如何降低冲突解决的复杂度
- 当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度
- 在提交时,写上明确的 message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
- 养成良好的使用习惯每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库
5. IDEA中使用SVN
5.1 配置SVN环境
-
进入idea,选择File => New projects Setup => setting for New Project…
-
配置svn
5.2 检索项目
-
选择VCS,选择Get from Version Control…
-
Version control选择Subversion,添加仓库中连接的地址
-
选择刚刚添加的连接,选择CHECK OUT
-
设置项目根路径
-
选择项目子路径
-
选择1.8 format
-
选择在当前窗口打开
-
选择ADD
-
成功后新增svn按钮
5.3 提交代码
-
修改完代码后,点击绿色对钩提交
-
添加注释信息,然后COMMIT
-
进度条显示提交进度
5.4 更新代码
-
选择蓝色箭头更新代码
-
默认即可,选择ok
-
更新成功
5.5 导入项目
-
选择VCS, 选择Import into Subversion…
-
配置远程仓库地址
-
选择刚刚添加的url,选择import
-
选择自己要上传的项目,点击ok
-
添加注释,选择ok
-
上传成功
5.6 版本冲突问题
-
如4.6中相同情况参数冲突
-
此时点击更新操作
-
手动处理异常
-
处理好冲突后选择apply
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180830.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...