这两天折腾了一下gitlab
,遇到一些问题,记录一下,以便日后查阅。
(1)gitlab
使用的是docker image
(下载地址:https://registry.hub.docker.com/u/genezys/gitlab/),这个比较顺利,按README
操作即可。
(2)接下来,就是用git client
(版本:1.8.3.1
)访问git server
,这个过程相当痛苦。把结论总结在这里:
a)由于gitlab container
的22
端口会映射到宿主机的2222
端口,所以需要在“~/.ssh/config
”文件中加上“Port 2222
”这一句;
b)使用“git clone
”命令clone
项目。其中repository
地址可以从gitlab web
页面查到。例如:“git@192.168.59.103:root/test.git
”,但要注意的是需要把IP
改成宿主机的IP
。举例,如果宿主机IP
是10.137.20.113
,则改为“git@10.137.20.113:root/test.git
”;
c)最后需要指出的是,如果git clone
命令不指定目的文件夹,则默认目的文件夹为xxx.git
中的xxx
。以上面命令为例,则目的文件夹为test
。一定要确保目的文件夹不存在,或者里面没有内容。否则会提示“fatal: destination path 'xxx' already exists and is not an empty directory.
”。
P.S. 关于git clone
命令访问非标准SSH
端口,也可参考我的这篇文章。
参考资料:
1)How can I use git client to access gitlab docker?;
2)How to get Git to clone into current directory。