目录

  • 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结果

                        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)解决版本冲突步骤

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

  参考地址:https://www.cnblogs.com/jose-Lee/p/4896088.html


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

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

                 时解决冲突的复杂度。

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

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

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

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


6.总结

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

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

  1. 内网IP端口扫描统计+服务识别简单思路

    前提:内网是10网段的,几乎所有机器都开了80和22端口,所以以此为依据认为扫描到的都是在线的IP. 目标是得到在线的IP启动了哪些端口,尽量猜测端口对应的服务. Centos7 (macos用bre ...

  2. 内网穿透------frp配置(服务端客户端配置)超详细的那种~~~

    强调:配置文件中每行代码最后一定不要留空格!!! 配置文件中尽量不要有注释,必须写的话,要用符合的语法写: 分号; 第一步:云服务器上域名解析添加(前提是有域名已经备案) 这里有对应操作截图文件 第二 ...

  3. (SVN笔记)https外网IP端口映射内网IP端口访问SVN服务端

    目录 1.前言 2.花生壳优点与相关技术 3.设置SVN服务器 4.外网IP映射内网IP访问SVN Server 5.总结 1.前言         上一章介绍了局域网内https服务端配置与客户端联 ...

  4. [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务

    在Linux上部署Java开发环境笔记(一) -- 补充:Linux下如何手动设置IP及配置DNS服务 2010/06/17 有的Linux系统会有网络设置的图形操作界面,比如"红旗Linu ...

  5. 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

    内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...

  6. Retrofit用Interceptor实现内外网接口自动切换访问(在内网IP访问失败的时候.访问外网接口)

    Retrofit用Interceptor实现内外网接口自动切换访问(在内网IP访问失败的时候.访问外网接口) 主要项目里面需求有2个baseurl,必须要能够根据用户的网络状况进行baseurl的重新 ...

  7. frpc客户端 linux安装,centos配置frp服务端,与客户端

    选择下载frp版本 选择linux_amd64.tar.gz 当前教程最新版为:v0.30.0wget https://github.com/fatedier/frp/releases/downloa ...

  8. 网狐荣耀6701/6801服务端 子游戏编译 部署

    1.前言 工作需要,接触到网狐的代码,因为没接触过vc和cocos经过一番才搭建起来,记录起来供大家参考. 服务端包括系统模块(协调服务器.聊天服务器.登录服务器.游戏服务器),网站(网狐前台.后台. ...

  9. 【GNSS】PEA软件-GNSS 服务端整网数据处理的开源软件

    PEA软件-GNSS 服务端整网数据处理的开源软件 下载地址 Welcome to the PEA for GNSS processing. Welcome to the Parameter Esti ...

最新文章

  1. 闪电Android视频转换器,闪电视频转换器
  2. c# webapi POST 参数解决方法
  3. C#里partial关键字的作用
  4. vim学习笔记(4)帮助与配置
  5. 没有workstation_这才是Win10的旗舰版:WorkStation版独享功能测试
  6. C++多线程基础笔记
  7. 时间序列分析(2)| ARMA模型的(偏)自相关函数
  8. soap协议_启扬课堂:扒一扒IOT的协议,很多你可能不知道
  9. AngularJs学习日记[8]:$http
  10. 后台管理项目系列-(一)--基本的项目搭建
  11. 使用计算机打印资料时需要安装打印机驱动,打印机驱动安装步骤详解(一)_电脑基础知识_IT计算机_专业资料...
  12. 您现在可以在Windows 10上下载Amazon Alexa App
  13. Win10 图标 显示不正常解决办法
  14. 检测运行程序,强制电脑关机代码
  15. 开源ESB-ServiceMix服务总线
  16. 内网搭建代理DNS使用内网域名代替ip地址
  17. kettle怎么复制资源库的job_kettle插件更新:定时执行资源库及文件的ktr和kjb作业...
  18. 2638: 黑白染色
  19. day23面向对象第一篇
  20. 微信小程序开发过程中出现的内存泄漏问题

热门文章

  1. auto.js B0018 自动学习文章 2021-10-06
  2. HCIA-RS实验-STP和RSTP(2)
  3. 汽车行业1月展望:高景气度持续,新能源累计销量同比转正-20210104.PDF
  4. 2012网络团购 你了解吗?
  5. 定时器 POSIX Timer定时器和setitimer定时器
  6. RelativeLayout相对布局详解
  7. 【全源码及文档】基于Java的模拟写字板的设计与实现
  8. 英语四级作文计算机,英语四级作文关于电脑
  9. 条形码的发展历史与国内外现状
  10. meego Java_meego 1.1 开发环境的搭建及问题解决方法