You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

GitLab CE 9中如何将群组项目转移至个人用户?

GitLab CE 9 项目从群组迁移到个人用户的操作方法

既然你拥有gitadmin权限,迁移GitLab CE 9里的项目从群组到个人用户其实挺简单的,我给你分两种常用方法说明,优先推荐网页UI操作,直观易上手:

方法一:通过GitLab网页UI操作(推荐)

这是最常规的操作方式,适合大多数场景:

  • 登录GitLab后,打开要迁移的项目主页:https://gitlab.local/groupname/projectname
  • 进入项目设置页:点击页面顶部导航栏最右侧的Settings(设置)选项
  • 进入高级设置:在左侧菜单栏中找到Advanced Settings(高级设置),GitLab 9里这个选项在设置菜单的下方区域
  • 执行转移操作:往下滚动页面,找到Transfer project(转移项目)模块。在New namespace(新命名空间)输入框中,直接填入目标个人用户的用户名userA,然后点击Transfer project按钮
  • 确认迁移:系统会弹出确认提示框,提醒你项目URL将变更,确认无误后点击Yes, transfer project,等待几秒就完成迁移了

方法二:使用GitLab Rails控制台(UI操作异常时备用)

如果遇到UI卡顿、权限提示异常等情况,可以用控制台直接操作,更高效:

  • 登录GitLab服务器的终端,切换到GitLab系统用户:
    sudo su - git
    
  • 启动GitLab Rails控制台:
    gitlab-rails console
    
  • 定位目标项目和用户:在控制台中执行以下Ruby代码(替换对应的群组、项目和用户名):
    # 获取要迁移的项目
    project = Project.find_by_full_path('groupname/projectname')
    # 获取目标个人用户
    user = User.find_by_username('userA')
    
  • 执行迁移并保存:
    # 将项目归属切换到目标用户的命名空间
    project.namespace = user.namespace
    # 保存更改
    project.save!
    
  • 完成后输入exit退出控制台即可

注意事项

  • 迁移前建议先备份项目:可以在项目设置的Repository(仓库)模块中找到Backup repository选项,或者使用GitLab全局备份命令,避免意外情况
  • 迁移后项目的所有数据(分支、标签、Issue、CI/CD配置等)都会完整保留,仅URL变更为https://gitlab.local/userA/projectname
  • 若迁移后出现权限问题,你作为gitadmin可以进入项目设置的Members模块,调整目标用户userA的权限为Owner即可

内容的提问来源于stack exchange,提问作者user1164061

火山引擎 最新活动