在新服务器搭建GIT仓库
教程很多,大致的流程是:
1. 新建linux用户密码专用于git操作
2. 新建git库的存放文件夹并在此初始化git
3. 配置git库所在目录权限
*只需要有一个库和有一个用户,与在windows上建库是一样的。不需要搭建类似gitlab那样的服务端。
迁移GIT
1. 提交所有更改使已有的本地git库数据最新;
2. 修改源地址到新的服务器:
在windos电脑上使用gitbash输入:
git remote set-url origin hxkgit@139.xxx.11.xx:/home/xxxgit/repository/myhexo.git
或者直接编辑.git文件夹的config文件,填入以上origin后的url:
3. 源地址修改后直接push,本地库便上传到云端,push时候需要输入云端服务器git用户的密码;
4.最好是重新克隆到新的文件夹,已验证资料是否完整。(目前遇到部分文件或文件夹没有上传,此处不讨论)
git clone xxx-url-xxxx
迁移SVN
git操作简单是由于本地保存了git库的完整备份。而svn必须从原服务器拉取所有数据,再将这些数据恢复到新服务器的相关目录。这和windows上迁移svn数据库也是一回事。问题来自于在不同公网服务器之间倒数据很费劲!
原因在于:
1. svn的库文件,数据量大
2. 云服务器带宽太低了!阿里云之前可以按小时付费提升带宽,腾讯云就不行……
3. 拷贝数据需要先搭建数据传输通道,如ftp,samba等。而windows只需要复制粘贴。
大致步骤是:
1. 两台服务器均需搭建ftp;
2. 新服务器上搭建svn空库;
3. 原服务器上,dump svn数据,压缩,分包。因为低带宽下ftp大数据文件总是下载失败,分包后解决;
dump和load参考:https://www.cnblogs.com/fjping0606/p/4608290.html
打包数据指令参考:https://www.cnblogs.com/guowenrui/p/17682019.html
4. 上传dump文件(这不是一个可打开文件)到新的服务器,使用svn load加载到已建好的空库中;
5. 在windows本地chekout新服务器地址,将完整下载该库资料,耗时较长,可以修改本地已有svn库中的wc.db,将其中的url改为新服务器即可,此处需要用到sqlite数据库编辑工具(vscode装插件),然后直接update,不需传数据就保持与新库一致。