关于内网SVN/Git地址变动问题和解决方案

公司的项目组设计外部兼职人员,如何让他们访问公司内部网络呢?那就再你的服务器上配置个内网穿透吧,目前比较好的内网穿透工具我推荐 花生壳Ngrok,以及基于后者的 小米球

  • 花生壳最低需要6元,可以配置两个地址作为内网穿透服务器。当外部人员访问花生壳提供的地址时,就相当于伸出公司的你访问内部 192.168.14.xxx 地址。花生壳提供跨平台的客户端安装登陆即可,在网页配置穿透信息。

  • ngrok 不收费,也是跨平台的但多端的使用方法略有不同,没花生壳那般小白都会操作。ngrok 提供的命令每次启动后会得到一个随机字符串作为二级域名,而且你需要自己维护服务器上的启动脚本,防止进程挂掉。

  • 最后的国人版小米球是某人根据 ngrok 收费版,搭建的自己的内网穿透工具。免费易用,windows 上支持良好,centos6/7 也能使用,但是在苹果的 darwin 上据我测试无法使用,而且也需要手动维护脚本。你还要担心域名冲突,reconnect 的话你可能不知道怎么办,只能重启服务器。在 windows 环境开发测试同步的话建议使用小米球。

正题,公司项目开发使用 svn,通过映射让外部人员可以通过 xxx.ngrok.xiaomiqiu.cn/svn/code 拉取代码,svn 所在服务器的内网地址为 192.168.15.30。突然有一天 svn 挂了,大家都上传不了代码,公司负责人又忙别的事情抽不出身来解决。那我们在公司的只能修改客户端 svn 的拉取地址咯。我不讲小乌龟GUI那种百度一大堆的操作,lowb。我们要极客,要优雅:

命令:svn switch --relocate http://xxx.ngrok.xiaomiqiu.cn/svn/code(旧地址) http://192.168.15.30/svn/code(新地址)

如果说你使用 Git 也遇到同样的问题呢?服务器GitLab 类似问题在另一篇文章提到,点击查看:搭建公司内网GitLab后IP不符问题,这里讨论客户端问题。让我们看看分布式版本控制工具的命令行做法:
一次命令:git remote set-url origin http://192/168/15.30/Erchoc/xxx.git
两次命令:git remote rm origin && git remote add origin http://192/168/15.30/Erchoc/xxx.git

  • 同时,你可以使用 svn infogit config --list 查看相关的配置信息,包括目前提交的服务器地址。
  • 当然,无论是 svn or git,你都可以使用桌面软件进行操作。

你可能感兴趣的:(关于内网SVN/Git地址变动问题和解决方案)