对于公司的私有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. H5-处理支付-前端部分

    调用后台支付接口,得到返回数据 1.如果是支付宝,需要后台配置支付成功的回调页面路径,还要在页面创建一个标签装表单内容,此处是id为box的div标签 <div id="box&quo ...

  2. Excel VBA 连接各种数据库(一) VBA连接MySQL数据库

    本文参考[东围居士]的cnblog博文  Excel.VBA与MySQL交互  在自己机器上调试成功,把调试中遇到的问题一并写出了. 本文主要涉及: VBA中的MySQL环境配置 VBA连接MySQL ...

  3. 为sqlserver数据库添加专用用户名

    在安全里面右键添加登录名,输入登录名与密码(可以取消强制密码策略)然后选择用户映射的数据库,勾选db_owner即可.

  4. 网站改版应对google

    客户要求修改网站,这会给我们带来问题!为了保留他的网站权重和关键字排名,我们必须在做网站修改工作之前分析他原来网站的连接结构和标题,这样我才能更好地保证他原来网站的整体权重不会有大的变化!以下是我们根 ...

  5. Centos 7下网卡bonding配置之mode4

    一.bonding技术 bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量.实现网络冗余.负载等功能,有 ...

  6. airTest 应用到项目并优化

    之前已经介绍了airTest的原理,该文主要指引大家能够将airTest框架应用到具体的测试项目当中去. 首先要考虑的是: 1. 你是用airTest 去做什么自动化 (android, ios, w ...

  7. LinkedStack

    public class LinkedStack<T> { private static class Node<U>{ U item; Node<U>next; N ...

  8. 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595

    如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色. 图4你可能没看出来,那么大块黄色的就是点阵屏 ...

  9. Python-yield生成器

    1.引入生成器的目的: 通常的for...in...循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表,字符串,文件.它可以是mylist = [1, 2, 3],也可以是myli ...

  10. Jenkins+docker自动部署

    项目目录结构如下 对此项目,使用Jenkins构建dockers镜像 步骤如下: 1.安装Jenkins和docker,具体安装步骤,自行度娘把,在此不详述了. 2.Jenkins安装插件Gradle ...