700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > (SVN笔记)https内网IP端口配置SVN服务端+内网SVN客户端联合使用

(SVN笔记)https内网IP端口配置SVN服务端+内网SVN客户端联合使用

时间:2022-11-14 15:46:16

相关推荐

(SVN笔记)https内网IP端口配置SVN服务端+内网SVN客户端联合使用

目录

1.前言2.SVN服务端设置3.开始使用SVN (1)新建版本库(2)迁入项目到SVN服务端(3)检索项目/拉取项目check out(4)提交代码commit(5)更新代码update4.SVN版本依赖冲突5.如何降低冲突解决的复杂度6.总结

1.前言

本章介绍SVN版本控制工具使用的图文教程。上一章介绍https内网SVN服务端+SVN客户端安装配置。下一章,介绍外网访问内网的SVN服务器。传送门链接:

(SVN)https协议外网IP端口映射内网IP端口访问SVN服务端

CSDN链接:/qq_39038178/article/details/119249137

上一章SVN服务端和SVN客户端的安装配置,传送门链接:

(SVN笔记)SVN服务端+SVN客户端Tortoise——安装配置

CSDN链接:/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结果

commitSVN服务端实时变更到最新版本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)解决版本冲突步骤

参考如下其他人写的博客文章,不是本人创作,如有侵权,联系删除!!!

参考地址:/jose-Lee/p/4896088.html

5.如何降低冲突解决的复杂度

(1)当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生

时解决冲突的复杂度。

(2)在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推

移,对当初更新的原因有可能会遗忘。

(3)养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要

从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。

6.总结

仅自己学习记录,如有错误,敬请谅解~,谢谢~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。