阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在服务器端将现有Git项目导入GitLab

172次阅读
没有评论

共计 2075 个字符,预计需要花费 6 分钟才能阅读完成。

GitLab 是由 Ruby 语言开发的基于 Linux 的 Git 服务器,是我见过的最强大的 Git 服务器。发现它之后,立即决定将 Git 服务器换成 GitLab。

但安装好 GitLab 之后面临一个问题,如何将服务器上的 git 项目直接导入到 GitLab,之前的 Git 服务器是由是 git+apache 搭建的(详见 Linux 下使用 Apache 搭建 Git 服务器 http://www.linuxidc.com/Linux/2017-02/140950.htm)。

在网上发现了这篇文档——Import bare repositories into your GitLab instance,并按之进行了操作。

1)设置存放代码库的主目录

vi /etc/gitlab/gitlab.rb

比如这里设置为:git_data_dir “/gitlab/repos”

2)访问刚搭建的 GitLab 站点,创建一个 group,比如 cnblogs。

这时会在 /gitlab/repos 下创建 /gitlab/repos/repositories/cnblogs 文件夹。

然后在 /gitlab/repos/repositories/ 创建一个文件夹,比如 cnblogs

3)将现有的所有 git 项目文件复制到这个文件夹

cp -r /data/git/* /gitlab/repos/repositories/cnblogs

4)修改一下复制过来的文件夹的所有者:

chown -R git:git /gitlab/repos/repositories/cnblogs

5)运行 GitLab 导入命令

cd /var/opt/gitlab
gitlab-rake gitlab:import:repos

等了一段时间之后,显示 done,却一个项目也没导入进来。

经研究发现,在导入时,GitLab 只认文件夹名以.git 结尾的项目。于是,将要导入的项目文件夹名称加上.git 后缀,再次进行导入。

结果显示导入成功,比如:

Processing cnblogs/CNBlogsJob.git
 * Created CNBlogsJob (cnblogs/CNBlogsJob.git)
Done!

可以是 GitLab 站点上却看不到已导入的项目。多次努力,也没能解决这个问题。

后来,实在没办法,改为手动导入,导入方法如下:

1)在 GitLab 站点上创建与要导入的项目同名的项目。

2)进入刚创建的项目文件夹

cd /gitlab/repos/repositories/cnblogs/ 项目名称.git

3)删除该文件下的所有文件

rm -rf *

4)将要导入的项目文件夹下的所有文件复制过来

cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git

就这样将项目一个一个地导入进来。

5)导入完成后,修改一下导入的所有项目的文件所有者

chown -R git:git /gitlab/repos/repositories/cnblogs

如果不修改所有者,客户端无法进行 git push。

就这样手动地完成了现有 Git 项目的导入。

备注:操作系统是 CentOS 6.2,GitLab 版本是 7.8.4。

更多 GitLab 相关教程见以下内容

Ubuntu 14.04 下安装 GitLab 指南  http://www.linuxidc.com/Linux/2015-12/126876.htm

如何在 Ubuntu Server 14.04 下安装 Gitlab 中文版  http://www.linuxidc.com/Linux/2015-12/126875.htm

CentOS 源码安装 GitLab 汉化版  http://www.linuxidc.com/Linux/2015-10/124648.htm

在 Ubuntu 12.04 上安装 GitLab http://www.linuxidc.com/Linux/2012-12/75249.htm

GitLab 5.3 升级注意事项 http://www.linuxidc.com/Linux/2013-06/86473.htm

在 CentOS 上部署 GitLab (自托管的 Git 项目仓库) http://www.linuxidc.com/Linux/2013-06/85754.htm

在 RHEL6/CentOS6/ScientificLinux6 上安装 GitLab 6.0.2 http://www.linuxidc.com/Linux/2014-03/97831.htm

CentOS 6.5 安装 GitLab 教程及相关问题解决 http://www.linuxidc.com/Linux/2014-05/101526.htm

升级 GitLab 到 8.2.0  http://www.linuxidc.com/Linux/2015-12/126220.htm

GitLab 的详细介绍:请点这里
GitLab 的下载地址:请点这里 

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140951.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2075字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中