对于公司的私有Gitlab仓库,没有对https支持,在使用最新版本的go get命令时,需要使用-insecure参数来支持http,但如果导入的包里边依赖了需要https的仓库,就不好使了,折腾了一下,解决方案如下:

一、为Gitlab添加SSH Keys

1.生成 ssh keys

ssh-keygen -t rsa -C "myname@mycompany.com"

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 "git@git.mygitlab.com:"]
insteadOf = https://git.mygitlab.com

这里简化一下可以直接使用命令

git config --global url."git@git.mygitlab.com:".insteadOf "https://git.mygitlab.com"

三、验证

go get git.mygitlab.com/myname/xxx.git

然后到go的src目录就可以看到新增了git.mygitlab.com/myname/目录了,当然源码也在这个目录下

考虑到https可是以后的趋势,所以还是推动一下公司尽快用上https的私有仓库吧。

四、补充

补充一下可能遇到的问题:

1、提示信息:package git.mygitlab/myname/gopublic.git: no buildable Go source files in d:\gosrc\src\git.mygitlab.com\myname\gopublic.git

出现这个提示其实表示你的文件已经下载成功了

2、这种方法拉回来的包是不会下载包内的依赖的,需要自己补充。原因见上提示信息。

3、在使用时要注意需要修改目录名,如

d:\gosrc\src\git.mygitlab.com\myname\gopublic.git

import时应该是这样

import "git.mygitlab.com/myname/gopublic.git/redis"

但实际因为代码里边引用的包路径是

import "gopublic/redis"

导致在go build时会报错,找不到包,所以要将

d:\gosrc\src\git.mygitlab.com\myname\gopublic.git

移动到

d:\gosrc\src\gopublic

以上是使用上要注意的地方

Go的Get命令兼容公司Gitlab仓库的HTTP协议的更多相关文章

  1. gitlab Docker容器创建命令以及从容器中备份gitlab仓库示例

    Gitlab容器启动命令: docker run -d --name gitlab --publish : --publish : --hostname gitlab-server --volume ...

  2. gitlab仓库迁移

    遇到一个情况,需要将两个gitlab仓库合并.好在都是使用的ldap账户登陆,用户账户不需要迁移. 实际的使用情况下,需要迁移的主要部分为分组及分组下项目.gitlab的api还是很给力的,能够获取所 ...

  3. github和gitlab仓库一起使用

    github是网络公有代码仓库,一般用于私人代码托管,而gitlab一般是企业搭建的内部代码仓库.工作期间,我们都会同时用到这两个仓库.可公司邮箱与个人邮箱是不同的,由此产生的 SSH key 也是不 ...

  4. 本地Git仓库与GitHub/GitLab仓库同步

    本地仓库即为在你的电脑上的项目文件,远程仓库即为服务器仓库,如GitHub.GitLab或其他等.此处以GitHub介绍本地仓库与远程仓库的同步.可先创建本地仓库,也可先创建GitHub仓库,但都需要 ...

  5. 「BUAA OO Pre」Git生成多个ssh key并连接GitLab仓库

    「BUAA OO Pre」Git生成多个ssh key并连接GitLab仓库 Part 0 前言 写作背景 笔者在配置学校GitLab的ssh key时遇到一些问题,原因应为曾经配置过GitHub的s ...

  6. Gitlab仓库规范实践建议

    记录一下Gitlab仓库实践信息: 仓库是指一个可以git clone的地址,用于存储某个服务,模块,子系统或某类辅助代码的地方 仓库的visibility level一般设置为Private(访问需 ...

  7. github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器

    一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...

  8. centos7搭建gitlab仓库

    在有一些企业里会搭建属于自己的代码仓库,只能内网访问,所以说今天在centos7中搭建了一个gitlab仓库,大家也可以搭建一个玩一玩.呵呵 1.首先安装依赖软件包和开启ssh服务: sudo yum ...

  9. Ubuntu18.04 GitLab仓库服务器搭建

    首先安装必须的一些服务 sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates sudo apt ...

随机推荐

  1. python flask 解决中文乱码

    response = make_response(output_string)response.headers['Content-Type'] = 'text/plain;charset=UTF-8' ...

  2. 网页html格式导出Excel.xls

    1.创建excel方法 /// <summary> /// 创建Excel表格 /// </summary> /// <param name="dt" ...

  3. php的trie_filter扩展安装敏感词查找

    #编译libiconv ./configure make make install #编译libdatrie-0.2.11 ./configure LDFLAGS=-L/usr/local/lib L ...

  4. ireport使用总结

    ireport使用基础经验总结: 1.设置打印文件的纸张类型和大小   编辑->报表属性 2.设置纸张大小和空间(用于编辑打印内容)  鼠标右键空白处->栏的属性 以上所有部分共同组成打印 ...

  5. python爬虫系列之初识爬虫

    前言 我们这里主要是利用requests模块和bs4模块进行简单的爬虫的讲解,让大家可以对爬虫有了初步的认识,我们通过爬几个简单网站,让大家循序渐进的掌握爬虫的基础知识,做网络爬虫还是需要基本的前端的 ...

  6. API Test WebApiTestClient工具安装及使用

    一.guget安装: 1.解决方案右键-管理解决方案的nuget程序包打开如下图: 搜索WebApiTestClient,然后选择查询出的项目,右边点击安装即可:   2.安装会有如下图提示: 确定即 ...

  7. js如何实现重载

    所谓重载,就是一组相同的函数名,有不同个数的参数,在使用时调用一个函数名,传入不同参数,根据你的参数个数,来决定使用不同的函数!但是我们知道js中是没有重载的,因为后定义的函数会覆盖前面的同名函数,但 ...

  8. 新手必备的Linux知识

    测试人员为什么学习linux? 对于软件测试人员来说,我们测试的任何产品都是基于操作系统.比如我们每天都在使用的QQ软件,它有windows.ios.Android.Mac OS等版本,需要把QQ安装 ...

  9. [Presto]Presto章1 Presto 咋用

    Presto 的平均查询性能是 Hive 的 10 倍! 由于 Presto 的数据源具有完全解耦.高性能,以及对 ANSI SQL 的支持等特性,使得 Presto 在 ETL.实时数据计算. Ad ...

  10. java之路 数据类型-常量

    class Demo1{ public static void main(String[] args){ //数据类型 类名 = 初始值 int age = 10; int age1 = 20; Sy ...