Go的Get命令兼容公司Gitlab仓库的HTTP协议
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go的Get命令兼容公司Gitlab仓库的HTTP协议相关的知识,希望对你有一定的参考价值。
对于公司的私有Gitlab仓库,没有对https支持,在使用最新版本的go get命令时,需要使用-insecure参数来支持http,但如果导入的包里边依赖了需要https的仓库,就不好使了,折腾了一下,解决方案如下:
一、为Gitlab添加SSH Keys
1.生成 ssh keys
ssh-keygen -t rsa -C "[email protected]"
2.查看内容
cat ~/.ssh/id_rsa.pub
3.复制到剪贴板
Windows
clip < ~/.ssh/id_rsa.pub
Mac
pbcopy < ~/.ssh/id_rsa.pub
Linux (requires xclip)
xclip -sel clip < ~/.ssh/id_rsa.pub
4.粘贴到Gitlab个人中心的SSH Keys Settings
二、配置.gitconfig文件
Windows
notepad C:\Users\{你的Windows用户名}\.gitconfig
Linux/Mac
vi ~/.gitconfig
写入
[url "[email protected]:"] insteadOf = https://git.mygitlab.com
这里简化一下可以直接使用命令
git config --global url."[email protected]:".insteadOf "https://git.mygitlab.com"
三、验证
go get git.mygitlab.com/myname/xxx.git
然后到go的src目录就可以看到新增了git.mygitlab.com/myname/目录了,当然源码也在这个目录下
考虑到https可是以后的趋势,所以还是推动一下公司尽快用上https的私有仓库吧。
以上是关于Go的Get命令兼容公司Gitlab仓库的HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章