如何在gitlab中更改项目所有者? 项目设置中有选项,但在“转移”字段中,它不识别任何用户名或任何内容。是否可以更改所有者权限和root权限?
答案 0 :(得分:11)
将您的项目移至您和其他用户都是所有者的新组,然后另一个用户必须将其转移到他自己的名称空间。
其他答案显然无法将项目转移给其他用户,尽管其中一个评论部分足以让人知道。此外,this issue on GitLab itself提供了一些见解。
我已经安装并现在为一些小型开发团队管理一些GitLab实例,并为我的个人项目管理一个实例。结果,我遇到了很多关于此的问题。我一直回到这个问题只是为了意识到它从来没有真正得到正确回答。
您在执行此操作时遇到的问题是,项目只能有一个所有者,但要传输项目,您必须拥有要将其传输到的名称空间。据我所知,没有其他方法来移动项目。为了完整起见,我将在此添加命名空间,例如“gitlab.com/my-user-name / ...”或“gitlab .COM / 我的组名称 / ...“的。
由于一个用户不能“拥有”另一个命名空间(甚至不是管理员),因此设置两个用户拥有相同命名空间的方案的唯一选项是使用组。执行以下步骤即可完成此操作。
答案 1 :(得分:3)
您可以通过以下方式将另一个所有者添加到项目中:
项目 - >成员 - >添加成员 - >选择所有者作为权限
接下来,你必须从项目中删除自己:
项目 - >成员 - >点击用户名后面的红色按钮
现在您离开了项目,之前输入的用户现在是所有者。
答案 2 :(得分:1)
也可以导出项目并在其他用户下导入。这样可以保留提交和分支。
设置-> 高级-> 导出项目
然后导入:
新项目-> 导入项目-> Gitlab导出
答案 3 :(得分:0)
答案 4 :(得分:0)
它涉及多个步骤,但是可能的。
转移菜单始终位于
Project => Settings => Advanced
答案 5 :(得分:0)
如果您需要为许多项目执行此操作,通过 API 执行此操作非常方便:
import gitlab
gl = gitlab.Gitlab('https://gitlab.com', private_token='...')
gitlab_project = gl.projects.get("the-project-of-yours")
target_group = gl.groups.get("target-group-where-to-land")
gitlab_project.transfer_project(target_group.id)
https://docs.gitlab.com/ee/api/projects.html#transfer-a-project-to-a-new-namespace
https://docs.gitlab.com/ee/api/groups.html#transfer-project-to-group
https://github.com/python-gitlab/python-gitlab/blob/master/gitlab/v4/objects/projects.py#L461
答案 6 :(得分:-2)
答案 7 :(得分:-2)
在当前版本( 10.2.4 )中,您应该执行以下操作:
转到"项目" - > "设置" - >展开"高级设置" - >向下滚动到"转移项目"
答案 8 :(得分:-2)
在GitLab社区版9.3.5中,如果您是管理员,则应转到“设置”->“成员”并更改所需成员的角色。
例如,搜索John Doe,设置开发人员角色,现在John Doe将成为开发人员,而不再是所有者。