要将裸存储库导入 GitLab 实例,请执行以下操作:
官方文档地址:https://docs.gitlab.com/ee/raketasks/import.html
1、创建一个新文件夹以从中导入 Git 存储库。还可以将项目导入到(子)组的命名空间中,而不是管理员的命名空间中。为此,请创建子文件夹,并将这些子文件夹的所有权和读/写/执行权限授予用户及其组:git
sudo -u git mkdir -p /var/opt/gitlab/git-data/repository-import
2、将裸存储库复制到此新创建的文件夹中。注意:在任何子文件夹上找到的任何存储库都将作为项目导入。.git 根据需要创建组,这些组可以是嵌套文件夹。
例如,如果我们将存储库复制到 ,并且存储库需要位于组下,并且必须在这些文件夹下创建它:。/var/opt/gitlab/git-data/repository-import-2020-08-22AG1G2/var/opt/gitlab/git-data/repository-import-2020-08-22/G1/G2/A.git```
sudo cp -r /old/git/foo.git /var/opt/gitlab/git-data/repository-import
# Do this once when you are done copying git repositories
sudo chown -R git:git /var/opt/gitlab/git-data/repository-import
#foo.git需要由用户和用户组拥有 git . git
3、运行以下命令:
sudo gitlab-rake gitlab:import:repos["/var/opt/gitlab/git-data/repository-import"]
示例输出
Processing /var/opt/gitlab/git-data/repository-import-1/a/b/c/blah.git
* Using namespace: a/b/c
* Created blah (a/b/c/blah)
* Skipping repo /var/opt/gitlab/git-data/repository-import-1/a/b/c/blah.wiki.git
Processing /var/opt/gitlab/git-data/repository-import-1/abcd.git
* Created abcd (abcd.git)
Processing /var/opt/gitlab/git-data/repository-import-1/group/xyz.git
* Using namespace: group (2)
* Created xyz (group/xyz.git)
* Skipping repo /var/opt/gitlab/git-data/repository-import-1/@shared/a/b/abcd.git
[...]
网友评论