Gitlab项目迁移

Gitlab项目迁移

本文介绍在Gitlab上把项目(project)从一个组迁移到另一个组。

声明:参照https://www.jianshu.com/p/902d959d5336,在原文基础上做了更合理化的补充

1.先把需要迁移的项目clone到本地
git clone git@git.xxxx(项目地址)
2.添加新的远程主机地址

首先cd进入clone到本地的这个项目

git remote add gitlab git@gitlab.xxxxxx(新的项目地址,即迁移后的地址)

上面的命令为新的项目(迁移后的项目)添加了一个名为gitlab的主机地址

bug:这一步如果你要将新的主机地址设置成origin是不行的,会报错origin已存在,因为你本地主机地址可能为origin。

3.推送master分支到新的仓库
git push -u gitlab master

这一步将本地的master分支推送到gitlab主机上

4.推送所有分支

上一步我们推送了master分支,接下来推送其他分支到新的仓库

git branch -a

推送前先用git branch -a查看所有远程分支,然后分别checkout到本地。

git checkout -b dev origin/dev

这一步是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支。
远程可能还包含像feature、release等分支,你需要依次执行上一步,checkout到本地。master分支已经被推送到新的仓库,因此不需要执行这一步。
最后执行命令推送全部分支

git push --all gitlab
5.推送所有tag
git push gitlab --tags

这样,我们就将项目代码、分支、tag全部迁移到了另一个分组下的新的项目中。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以使用 GitLab API 来实现一次性下载一个 group 下的所有仓库。首先,您需要获取该 group 的 ID,然后使用 API 获取该 group 下的所有仓库的信息,最后使用 Git 命令一次性下载所有仓库。 以下是具体步骤: 1. 获取 group ID 您可以在 GitLab 界面上找到该 group 的 ID,也可以使用 API 获取。例如,使用以下命令获取 group ID: ``` curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups?search=<group_name>" ``` 其中,`<your_access_token>` 是您的 GitLab 访问令牌,`<group_name>` 是您要下载的 group 的名称。 2. 获取仓库信息 使用以下命令获取该 group 下的所有仓库信息: ``` curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/<group_id>/projects?per_page=100&page=<page_number>" ``` 其中,`<group_id>` 是您获取到的 group ID,`<page_number>` 是页码,每页最多返回 100 条记录。 您需要多次调用该命令,直到获取到所有仓库的信息。 3. 下载所有仓库 使用以下命令一次性下载所有仓库: ``` for repo in $(curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/<group_id>/projects?per_page=100" | jq -r '.[].ssh_url_to_repo'); do git clone $repo; done ``` 其中,`<group_id>` 是您获取到的 group ID,`jq` 是一个命令行 JSON 处理工具,您需要先安装它。 该命令会依次下载该 group 下的所有仓库。如果您不想手动输入密码,可以使用 SSH 公钥认证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值