如何远程访问svn 服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何远程访问svn 服务器相关的知识,希望对你有一定的参考价值。

    在SVN服务器所在的局域网内,使用SVN的内网地址进行https进行访问。正常情况下,在内网是可以正常访问连接使用的。

    在SVN服务器上安装使用nat123客户端。如没有SVN服务器权限,则在同一个局域网内安装使用客户端同样可以。

    登录客户端,添加HTTPS映射,由于SVN是443端口应用选择HTTPS映射是最合适的。将内网固定SVN地址映射到外网。

    映射时使用填写的外网域名可以直接使用默认的开放二级域名。

    也可以使用自己的域名,当填写使用自己的域名时,同时需要在自己注册域名解析网站设置域名解析指向,将域名指向提示的cname目标 地址。

    映射成功后,只要是可以上网的环境电脑,都可以使用映射后的外网域名地址进行访问连接内网对应的SVN应用。

参考技术A 方法有很多,最简单的,就是你有一个外网服务器,直接把SVN部署到外网上。但是,我们现在既没有外网服务器,也不能用内网服务器做测试,也就是说,我要用本机,直接部署SVN 在外网访问。也就是,本机就是服务器。

首先你需要有一个自己的域名,然后端口映射SVN到域名上面,这样就可以了。给你们分享一个获取域名和端口映射的软件。我个人用的就是花生壳,一个动态域名解析软件。
参考技术B

svn部署不要用本机,要用远程的服务器,用iis7远程桌面连接到你的服务器之后,还要有一个自己的域名,端口映射SVN到域名上面,我用的是花生壳

SVN:版本控制软件

一.SVN:版本控制软件(默认端口3690)(subversion)
版本控制的核心:服务器--共享目录
所有数据都有备份
file:///abc/本地访问
svn://192.168.4.5/abc 远程访问
1.装包yum -y install subversion
2.创建mkdir /var/svn 共享目录框架,此目录不是真实共享目录
3.创建真实共享目录:svnadmin create /var/svn/project1
4.导入想要共享的内容:svn import . file:///var/svn/project1/ -m "注释"
导入的数据不是明文显示的,cd到目录是无法看到的
5.本地使用这个命令查看:svn list file:///var/svn/project1

  1. vim svnserve.conf
    19 anon-access = none (匿名访问不给任何权限)
    20 auth-access = write (认证访问给读的权限)
    27 password-db = passwd (指定密码文件为passwd稍后要修改)
    34 authz-db = authz (指定控制权限的文件,稍后要修改)
    7.vim passwd
    tom = 123456
    harry = 123456
    8.vim authz
    [/]
    tom = rw
    harry = rw
    9.启动服务(两种方法)
    方法一:svnserve -d -r /var/svn/project/ (指定共享目录发布,-d的意思是放后台)
    方法二:systemctl start svnserver (把所有的共享目录都发布出去)
    10.验证
    客户端:svn co --username tom --password 123456 svn://192.168.2.100/ code
    co(checkout)下载,从svn://192.168.2.100/下载共享目录,并且自动放到本地code目录(该目录会自动创建)
    11.cd到code 客户端任意修改一个文件,再上传文件
    命令:svn ci -m "注释" (ci是上传 ,这个上传会自动识别那个文件改变了,只把改变的文件上传上去)
    12.如果服务器上的文件有被更新,客户端可以通过:svn update 命令实现更新自己的本地
    13.可以同过以下命令查看vsn的文件更新log;
    svn log svn://192.168.2.100
    svn info svn://192.168.2.100
    14.客户端自己新建文件后通过以下上传到svn服务器
    vim 11.sh (直接创建,不受svn管理)
    svn add 11.sh (给到svn管理)
    svn ci -m "注释" (上传文件)
    15.客户端实现新建目录,重命名,复制操作;
    svn mkdir abc
    svn mv 11.sh 22.sh
    svn cp xx.sh zz.sh
    svn rm zz.sh
    svn ci -m "注释" 最后上传文件
    16.对比本地和服务器的差别
    svn diff
    svn diff 文件名
    svn cat svn://192.168.2.100/wenjian
    17.数据还原:
    1)本地修改了一个文件,但未提交
    svn revert 11.txt
    2)本地修改了,而且也提交了[6]
    svn merge -r6:5 11.txt
    3)本地修改了,而且也提交了(第二种)
    svn -r5 co svn://192.168.1.100 code2
    18.多人协同
    1)修改不同的文件
    互不影响,最后各自更新各自的
    2)修改相同文件的不同行;
    先上传的不受影响,后上传的提示过期,要svn update,这个时后文件会自动和并,然后在上传服务;
    3)修改相同文件的相同行
    会产生冲突,需人员协同;,修改后的文件会生成多个版本,协商后把多于的删除,然后提交服务器
    19.备份服务器
    svnadmin dump /var/snv/project1/ > my.bak
    20.还原服务器
    svnadmin load /var/snv/project2/ < my.bak

以上是关于如何远程访问svn 服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux搭建SVN服务器,并内网穿透实现公网远程访问

群晖SVN Server远程访问

远程SVN管理

如何列出远程 SVN 存储库中的所有文件?

在subversion客户端中添加多个代理

如何配置PostgreSQL允许被远程访问