我有一个7.6.2版的gitlab
服务器,其中包含一些存储库。现在,此服务器已由最新的Ubuntu升级,并且具有空的gitlab
服务器,版本为12.0.1。我还从旧的gitlab
服务器上备份了硬盘。
我需要将所有存储库从旧的gitlab服务器移至新的。我试图将.git
的存储库从/var/opt/gitlab/repositories/user/
复制到具有禁用的哈希存储库存储的新服务器的类似位置,但是没有任何效果。
我还尝试用例如创建一个空的存储库。从旧目录中的目录中命名test
并从新目录中替换新服务器上的test.git
目录,但没有任何效果。
我试图在整个服务器文件系统中通过test.txt
命令从名为find
的测试存储库中找到文件,但是没有找到这样的文件(但是该文件存在于{{1}中) }存储库。
我的问题是:gitlab
服务器的存储库存储在哪里,如何将其从旧服务器HDD的备份复制到新服务器文件系统(我不能同时运行gitlab
的两个实例,因为我只有一台机器。出于某些原因,也无法将旧服务器作为虚拟机的rootfs运行备份。
已更新。
它不是this question的副本,因为我没有由gitlab
制造的旧gitlab
服务器的备份,我只有安装它的计算机文件系统的备份。我也无法运行旧服务器来拉存储库,因为其计算机已升级。我只有旧服务器上的东西:它的文件系统。
答案 0 :(得分:2)
如果您只需要迁移存储库(即,没有问题,管道等),最好克隆每个存储库并再次上传(逐个或使用批处理命令):
cd /var/opt/gitlab/repositories/...
git remote add newserver url
git push --all newserver url
相反,如果您需要迁移所有功能,则最好还原服务器备份并就地升级OS和Gitlab ...即使距离7到12之间很长,您可能需要采取多个步骤。
答案 1 :(得分:0)
小心,这可能会导致严重损坏,请在临时系统上进行试验。
git仓库应该是相同的,所以我会尝试将内容复制过来。用户信息和辅助内容可能有所不同。
另一种方法是设置旧系统,然后升级该系统。如果需要,逐个版本。
最后的办法是克隆旧存储库,并将其上传到新系统中。