gogs/gitea(数据迁移)之更改仓库所属组织

gogs/gitea(数据迁移)之更改仓库所属组织

197发表于2020-06-18

随着同一个用户下创建的gogs/gitea仓库越来越多,管理起来会越来越不方便。最好方式就是把仓库分门别类的重新组织管理起来,比如不同类型的仓库放在一起,这样无论是以后定位仓库,还是权限分配都比较方便。其实gogs/gitea早就已经为我们考虑到了这种需求,gogs/gitea是可以通过创建组织来实现这个诉求的,不同类型的仓库通过组织来区分。

但是我仔细研究了一下,这个前提是要提前把组织规划创建好,然后再在组织下创建仓库,如果想想把之前的仓库放进新创建的组织中来,在gitea后台是无法操作了。后来我想了想可不可以通过直接更改数据库表记录的形式来实现仓库的所属组织的更改呢?

我经过实验成功的实现了这个效果,下面分享一下我的操作步骤。

1、找到组织对应的id

select * from `user` u where `type` =1

from clipboard

2、更改仓库owner_id

找到仓库,然后更改owner_id为上面找到的id,3

select * from repository r2

from clipboard


3、拷贝git仓库目录

最后,把仓库目录拷贝到组织目录下:

找到gitea的repositories中的代码目录:
test.git
原目录:
L:\gitea-repositories\2351310751\
新目录
L:\gitea-repositories\dev\
from clipboard



PS================================================
gitea的组织相当于一个namespace命名空间(分组)可以对组织进行权限设置
from clipboard




在组织下面又可以添加多个团队,每个团队也可以再次授权,设置权限。

from clipboard




添加团队之后,可以为其添加成员:

from clipboard

小编蓝狐