GitLab 7.8 开始支持 go get <private repo>

假设 GitLab 服务是: mygitlab.com

使用方式:

1
$ go get -v  -insecure  mygitlab.com/user/repo

注意:如果 mygitlab.com 不支持 https, 加上 -insecure 参数(需要 GoLang 版本大于 1.5)

HTTP/HTTPS 默认需要输入用户名和密码,可以配置 .gitconfig 以 SSH 方式访问。**

1
2
3
4
$ git config --global url."git@mygitlab.com:".insteadOf "http://mygitlab.com/"
$ cat ~/.gitconfig
[url "git@mygitlab.com:"]
insteadOf = http://mygitlab.com/

注意: git@mygitlab.com: 后面有个冒号 :, 且 http://mygitlab.com 后面有 /

这样 git clone https://mygitlab.com/user/repo.git 就变成 git clone git@mygitlab.com:user/repo.git

总结:

  • gitlab >= 7.8
  • go >= 1.5(如果 GitLab 不支持 HTTPS)
  • git url insteadOf

参考: