项目需要将本地git库迁入到自建的GitLab,创建项目看到可以从HTTP链接导入,参考文档完成了版本库导入。
环境: CentOS 6.3 x86_64
1. 增加httpd配置
vi /etc/httpd/conf.d/git.conf
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
<IfModule mod_dav_fs.c>
DAVLockDB /var/lib/dav/lockdb
</IfModule>
Alias /test.git "/opt/gitrepo/test.git"
<Location /test.git>
DAV on
# 只是为了导入GitLab,不需要做认证,就注掉了以下部分
# AuthType Basic
# AuthName "Git"
# AuthUserFile /path/to/httpd/passwd.git
# Require valid-user
</Location>
2. 拷贝版本库
把本地版本库中的.git目录拷贝为/opt/gitrepo/test.git
cp -r test/.git /opt/gitrepo/test.git
cd /opt/gitrepo/test.git
cp hooks/post-update.sample hooks/post-update
git update-server-info
只需要拷贝.git目录,.git就是test.git,不是子目录。
没有改权限,因为导入只需要有读权限就够了。
3. 重启httpd
service httpd restart
4. 测试
git clone http://serverip/test.git
测试成功就可以用链接完成项目导入了