如何删除 Gitlab 上的 ghost 用户?

How to delete ghost user on Gitlab?

我刚刚删除了一个用户,它出现了一个幽灵用户,是否可以删除幽灵用户?

我读到一个幽灵用户代表所有被删除的用户。任何已删除用户创建的问题和评论都将转移到 ghost 用户。

但是不能删除吗?

(...) 供将来参考:API of GitLab doc

用户删除

删除一个用户。仅对管理员可用。这是一个幂等函数,为不存在的用户 ID 调用此函数仍然 returns 状态代码 200 OK。 JSON 响应会因用户是否实际被删除而有所不同。前者返回用户,后者不返回。

DELETE /users/:id

参数:

id (required) - The ID of the user

hard_delete (optional) - If true, contributions that would usually be moved to the ghost user will be deleted instead, as well as groups owned solely by this user.

我在玩 gitlab+ldap 安装和删除测试用户时遇到了类似的问题,所以这就是我最终删除 Ghost 用户的方法。

首先检查 GitLab 是否一切正常(可选步骤):

sudo gitlab-rake gitlab:check

执行 GitLab 控制台:

sudo gitlab-rails console

使用控制台找到 ghost 用户的 ID 并将其删除:

user = User.find_by(username: "ghost")
User.delete(user.id)

如果用户被删除则输出为 1,如果为 0 则用户未被删除。