(SVN笔记)https内网IP端口配置SVN服务端+内网SVN客户端联合使用
目录
- 1.前言
- 2.SVN服务端设置
- 3.开始使用SVN
- (1)新建版本库
- (2)迁入项目到SVN服务端
- (3)检索项目/拉取项目check out
- (4)提交代码commit
- (5)更新代码update
- 4.SVN版本依赖冲突
- 5.如何降低冲突解决的复杂度
- 6.总结
1.前言
本章介绍SVN版本控制工具使用的图文教程。上一章介绍https内网SVN服务端+SVN客户端安装配置。下一章,介绍外网访问内网的SVN服务器。传送门链接:
(SVN)https协议外网IP端口映射内网IP端口访问SVN服务端
CSDN链接:https://blog.csdn.net/qq_39038178/article/details/119249137
上一章SVN服务端和SVN客户端的安装配置,传送门链接:
(SVN笔记)SVN服务端+SVN客户端Tortoise——安装配置
CSDN链接:https://blog.csdn.net/qq_39038178/article/details/119139775
2.SVN服务端设置
说明:服务器端需要提供IP、端口、帐号、密码供客户端使用。
(1)打开SVN服务端管理器
(2)打开参数设置选项
(3) 查看当前IP:windows+R键,键入ipconfig,按回车。
服务端访问Url地址操作工程项目:192.168.0.100
(4)VisualSVN Server Properties服务器属性——Network网络
先Apply——再OK
server name的值可以设置为:
——127.0.0.1(只能本地自己访问)——电脑用户名(只能本地自己访问)
——当前IP(能够拼通IP的用户均可访问)
——Server port(使用默认值443即可)
(5)新建账号和密码:右键左侧菜单User,选择Create User
用户设置:
(6)用户分组Groups:右键左侧选择Groups,选择Create Group...
组名:First_Group
(7)访问URL登录服务端,右键左侧选择菜单Repositories,选择Browse
若提示不是安全链接,页面下方点击高级——选择继续访问就能正常跳转了
登录成功:内容是空的,但是已经确保通过账号密码能正常访问SVN服务器端
3.开始使用SVN
(1)新建版本库——仓库:左侧选择菜单Repositories,选择Create New Repository...
创建新仓库
选择默认设置,选择下一页,设置仓库名称
设置仓库名称:ZS_Project
设置仓库目录结构
设置仓库账户访问权限——这里设置所有svn用户都有读/写权限
选择Create,开始创建仓库——ZS_Project
选择Finish
(2)迁入项目到SVN
选择Copy URL to Clipboard,拷贝URL地址
选择迁入的工程项目:MyMavenProjects
开始导入工程项目
工程项目导入成功,版本号自增1
导入工程项目时另外一种方式,选择自选导入工程目录,就得永久授权,还
需要输入用户名和密码
输入用户名和密码,然后单击OK
在SVN服务器端查看导入的工程项目
(3)检索项目/拉取项目——check out
在需要拉取项目的目录中,右键选择SVN Checkout...
拉取信息
拉取结果:记得刷新一下,项目就会出现绿色打勾图标,代表最新版本
(4)提交代码commit
新建文件,右键选择TortoiseSVN,选择Add,将文件添加到版本库列表
再次右键文件,会出现SVN Commit...,选择SVN Commit...
记得刷一下,文件会出现一个蓝色+号的图标,代表待提交共享状态
输入备注信息,进行提交
提交成功——SVN服务端和SVN管理器也会同时更新提交
SVN服务端commit后
SVN管理器commit后
(5)更新代码update
如果当前资源不是最新版本,则在项目中空白地方右键,选择SVN Update
这里为了演示效果,另外新建文件夹OtherPerson,拉取SVN服务端最新项目版本
并“待commit提交的文件.txt”重命名为“OtherPerson的更新了该文件.txt”,来进
行SVN更新代码的效果演示
然后,执行步骤(4),右键文件,会出现SVN Commit...,选择SVN Commit...
commit结果
commit后SVN服务端实时变更到最新版本4
此时此刻,OtherPerson目录下的工程与SVN服务端是保持最新版本的项目、
OtherPerson的更新了“OtherPerson的更新了该文件.txt”,而MyMavenProjects
目录下的依旧是“待commit提交的文件.txt”,应在MyMavenProjects执行空白地
方右键,选择SVN Update,更新最新版本
更新成功
4.SVN版本依赖冲突
(1)版本冲突原因
假设A、B两个用户都在版本号为10时,A用户修改旧文件“OtherPerson的更新了该文 件.txt”,A用户首先修改完成后执行“SVN Commit...”提交新文件“A用户修改的新文 件.txt”到SNV服务器中,此时提交成功后SVN服务器中的旧文件“OtherPerson的更新 了该文件.txt”已被A用户修改为“A用户修改的新文件.txt”,同时文件版本号已经自增 为“11”了。
半小时后...
B用户在A用户提交完成之后“才”在版本号为10的旧文件“OtherPerson的更新了该文 件.txt”上修改结束,修改新文件为“B用户修改的新文件.txt”,修改完成之后执行“SVN Commit...”提交当前版本号为10的新文件到SVN服务器时,由于不是在当前最新的版
本号11上完成的修改,所以导致提交失败,提示版本过期。此时用户B执行“SVN Commit...”提交新文件,如果B用户和A用户修改了文件的同一行代码或文件,就会出
现冲突。
(2)版本依赖冲突现象
通俗理解:同时提交更新同一段代码,本机工程项目版本号<SVN服务端工程项目版本号
冲突发生时,SVN工具会在当前工作目录中保存所有的目标文件版本[上次更新版本、当
前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]。
(3)解决版本冲突三种方式
方式一:
放弃自己的更新,使用svn revert (回滚),然后提交。在这种方式下不需要使用
svnresolved (解决),相当于自己辛苦几小时敲的代码,不要了,重新再来敲一次,
当然不需要解决冲突。
方式二:
放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。
方式三:
手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执
行resolved filename来解除冲突,最后提交。
(4)解决版本冲突步骤
参考如下其他人写的博客文章,不是本人创作,如有侵权,联系删除!!!
参考地址:https://www.cnblogs.com/jose-Lee/p/4896088.html
5.如何降低冲突解决的复杂度
(1)当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生
时解决冲突的复杂度。
(2)在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推
移,对当初更新的原因有可能会遗忘。
(3)养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要
从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。
6.总结
仅自己学习记录,如有错误,敬请谅解~,谢谢~~~
(SVN笔记)https内网IP端口配置SVN服务端+内网SVN客户端联合使用相关推荐
- 内网IP端口扫描统计+服务识别简单思路
前提:内网是10网段的,几乎所有机器都开了80和22端口,所以以此为依据认为扫描到的都是在线的IP. 目标是得到在线的IP启动了哪些端口,尽量猜测端口对应的服务. Centos7 (macos用bre ...
- 内网穿透------frp配置(服务端客户端配置)超详细的那种~~~
强调:配置文件中每行代码最后一定不要留空格!!! 配置文件中尽量不要有注释,必须写的话,要用符合的语法写: 分号; 第一步:云服务器上域名解析添加(前提是有域名已经备案) 这里有对应操作截图文件 第二 ...
- (SVN笔记)https外网IP端口映射内网IP端口访问SVN服务端
目录 1.前言 2.花生壳优点与相关技术 3.设置SVN服务器 4.外网IP映射内网IP访问SVN Server 5.总结 1.前言 上一章介绍了局域网内https服务端配置与客户端联 ...
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
在Linux上部署Java开发环境笔记(一) -- 补充:Linux下如何手动设置IP及配置DNS服务 2010/06/17 有的Linux系统会有网络设置的图形操作界面,比如"红旗Linu ...
- 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明
内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...
- Retrofit用Interceptor实现内外网接口自动切换访问(在内网IP访问失败的时候.访问外网接口)
Retrofit用Interceptor实现内外网接口自动切换访问(在内网IP访问失败的时候.访问外网接口) 主要项目里面需求有2个baseurl,必须要能够根据用户的网络状况进行baseurl的重新 ...
- frpc客户端 linux安装,centos配置frp服务端,与客户端
选择下载frp版本 选择linux_amd64.tar.gz 当前教程最新版为:v0.30.0wget https://github.com/fatedier/frp/releases/downloa ...
- 网狐荣耀6701/6801服务端 子游戏编译 部署
1.前言 工作需要,接触到网狐的代码,因为没接触过vc和cocos经过一番才搭建起来,记录起来供大家参考. 服务端包括系统模块(协调服务器.聊天服务器.登录服务器.游戏服务器),网站(网狐前台.后台. ...
- 【GNSS】PEA软件-GNSS 服务端整网数据处理的开源软件
PEA软件-GNSS 服务端整网数据处理的开源软件 下载地址 Welcome to the PEA for GNSS processing. Welcome to the Parameter Esti ...
最新文章
- 闪电Android视频转换器,闪电视频转换器
- c# webapi POST 参数解决方法
- C#里partial关键字的作用
- vim学习笔记(4)帮助与配置
- 没有workstation_这才是Win10的旗舰版:WorkStation版独享功能测试
- C++多线程基础笔记
- 时间序列分析(2)| ARMA模型的(偏)自相关函数
- soap协议_启扬课堂:扒一扒IOT的协议,很多你可能不知道
- AngularJs学习日记[8]:$http
- 后台管理项目系列-(一)--基本的项目搭建
- 使用计算机打印资料时需要安装打印机驱动,打印机驱动安装步骤详解(一)_电脑基础知识_IT计算机_专业资料...
- 您现在可以在Windows 10上下载Amazon Alexa App
- Win10 图标 显示不正常解决办法
- 检测运行程序,强制电脑关机代码
- 开源ESB-ServiceMix服务总线
- 内网搭建代理DNS使用内网域名代替ip地址
- kettle怎么复制资源库的job_kettle插件更新:定时执行资源库及文件的ktr和kjb作业...
- 2638: 黑白染色
- day23面向对象第一篇
- 微信小程序开发过程中出现的内存泄漏问题