首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Gitlab实例之间迁移repos

在Gitlab实例之间迁移repos
EN

Stack Overflow用户
提问于 2013-10-01 07:31:35
回答 5查看 14.8K关注 0票数 7

由于我以前安装的Gitlab太难升级( TKL支持论坛上的线程:http://www.turnkeylinux.org/forum/support/20120913/upgrading-gitlab ),我已经下载了当前的TKLBAM发行版,并且遵循了Gitlab的标准升级路径,所以我现在有了一个使用TKLBAM和所有这些好东西运行的完全升级的Gitlab 6.1安装。到目前一切尚好。

但是,我们的旧版本的gitlab并没有提供HTTP来重新部署,这意味着我不能使用Gitlab 6.1中的“导入现有存储库”函数。

我知道我可以简单地将旧的Git存储库从旧的VM复制到新的VM,但是如何使这些存储库在新VM上在Gitlab中可见呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-10-01 07:48:40

一种选择是:

  1. 将旧的回购从gitlab克隆到开发机器上。
  2. 在新的gitlab上创建一个空白回购。
  3. 在dev机器上添加新的repo作为遥控器。
  4. 把一切都推回新的回购。
  5. 从远程回复列表中删除旧的回购。

若要创建一个名为newRepo的远程设备,请执行:git remote add newRepo gitlab.localhost.com:User/newRepo.git (将末尾的url替换为您的回购程序)

票数 7
EN

Stack Overflow用户

发布于 2013-10-05 02:29:23

我最近从gitolite迁移到gitlab,官方的rake任务gitlab:import:repos为我工作。我正在使用gitlab 6.1.0 (82f3446)。以下是我所做的:

  • rsync光秃秃的从海泡石到repositories/{group}/。确保用gitolite的名称替换{repository},并更改gitlab服务器的主机名。 rsync -rth --进度存储库/{存储库}.git\.git 在这里,{group}是您希望将存储库添加到的用户组的名称。如果您没有任何特定的组,请选择root作为组名。
  • 修正权限-只有当rsync用户不是git时才需要: sudo git:git存储库/{group}/
  • cd ~/gitlab
  • 运行rake任务导入所有新存储库: bundle exec rake gitlab:import:repos RAILS_ENV=production

现在,如果您以管理员身份登录,您将发现添加了新项目。

有关更多信息,请参阅http://{your-gitlab-server}/help/raketasks下的“将裸存储库导入到http://{your-gitlab-server}/help/raketasks项目实例”。

在您的示例中,您可以登录到旧的TKL系统,并将所有原始回复同步到新实例,然后是一个导入。

票数 13
EN

Stack Overflow用户

发布于 2014-05-28 16:10:11

在阅读了ChrisA的答案之后,我实际上是这样做的,这让我对如何实际操作感到有点头疼。该示例将一个回购从github复制到gitlab,以使源和目的地更加清晰。

  1. 将旧的回购从github克隆到dev计算机上(这将创建一个裸回购): $ git克隆--镜像git@github.com:me/myrepo.git
  2. 在新的gitlab上创建一个空白回购。
  3. 在dev机器上添加新的repo作为遥控器。 $ cd myrepo.git $ git远程添加newRepo git@gitlab.com:me/myrepo.git
  4. 把一切都推回新的回购。 $ git推镜newRepo

就这样。

通过这种方式,它将所有分支和标记复制到新的目的地。

现在,您可以从开发计算机中删除克隆的裸回购。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19110423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档