Go的Get命令兼容公司Gitlab仓库的HTTP协议
对于公司的私有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协议的更多相关文章
- gitlab Docker容器创建命令以及从容器中备份gitlab仓库示例
Gitlab容器启动命令: docker run -d --name gitlab --publish : --publish : --hostname gitlab-server --volume ...
- gitlab仓库迁移
遇到一个情况,需要将两个gitlab仓库合并.好在都是使用的ldap账户登陆,用户账户不需要迁移. 实际的使用情况下,需要迁移的主要部分为分组及分组下项目.gitlab的api还是很给力的,能够获取所 ...
- github和gitlab仓库一起使用
github是网络公有代码仓库,一般用于私人代码托管,而gitlab一般是企业搭建的内部代码仓库.工作期间,我们都会同时用到这两个仓库.可公司邮箱与个人邮箱是不同的,由此产生的 SSH key 也是不 ...
- 本地Git仓库与GitHub/GitLab仓库同步
本地仓库即为在你的电脑上的项目文件,远程仓库即为服务器仓库,如GitHub.GitLab或其他等.此处以GitHub介绍本地仓库与远程仓库的同步.可先创建本地仓库,也可先创建GitHub仓库,但都需要 ...
- 「BUAA OO Pre」Git生成多个ssh key并连接GitLab仓库
「BUAA OO Pre」Git生成多个ssh key并连接GitLab仓库 Part 0 前言 写作背景 笔者在配置学校GitLab的ssh key时遇到一些问题,原因应为曾经配置过GitHub的s ...
- Gitlab仓库规范实践建议
记录一下Gitlab仓库实践信息: 仓库是指一个可以git clone的地址,用于存储某个服务,模块,子系统或某类辅助代码的地方 仓库的visibility level一般设置为Private(访问需 ...
- github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器
一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...
- centos7搭建gitlab仓库
在有一些企业里会搭建属于自己的代码仓库,只能内网访问,所以说今天在centos7中搭建了一个gitlab仓库,大家也可以搭建一个玩一玩.呵呵 1.首先安装依赖软件包和开启ssh服务: sudo yum ...
- Ubuntu18.04 GitLab仓库服务器搭建
首先安装必须的一些服务 sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates sudo apt ...
随机推荐
- Spring核心之IOC
IOC是Spring的两大核心之一:IOC的核心就是解耦. 举个例子:有2个班级可以上课,校长指定老师去上课,代码如下 package com.hongcong.test; public class ...
- Jmeter+badboy压力测试总结
流程:badboy导出Jmeter压测脚本 -> Jmeter进行压力测试 软件下载地址: badboy:http://www.badboy.com.au/ Jmeter:http://jmet ...
- SUSE11sp3 perf工具安装过程
工作环境是suse11sp3系统(内核版本3.0.101-0.47.90-default),需要通过perf排查系统性能问题,但是默认是没有perf工具的. 在网上搜索了一下,需要linux-tool ...
- win10卸载IE11后从新安装
win10卸载IE11后想要从新安装,运气不好的话各种坑安装不上,运气好就不说了.这里笔者在知乎看到一种方法,亲测可用,记录如下: 设置--应用--应用和功能--管理可选功能--添加功能--Inter ...
- C语言之标准头文件模板
/*======================================================================================* * 版权 : xxx ...
- AttributeError: 'LoginForm' object has no attribute 'is_bound' , object has no attribute 'is_bound'
'LoginForm' object has no attribute 'is_bound' 可能原因: 啥子问题?? 都是 jquery.js 文件.....
- Centos 7 配置邮件发送
一.环境 系统:centos 7 sendmail:sendmail.x86_64 0:8.14.7-5.el7 mailx版本:mailx-12.5-19.el7.x86_64 二.软件安装: 1. ...
- 20175314 实验二 Java面向对象程序设计
20175314 实验二 Java面向对象程序设计 一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 二 ...
- 【Thread】CountdownEvent任务并行[z]
System.Threading.CountdownEvent 是一个同步基元,它在收到一定次数的信号之后,将会解除对其等待线程的锁定. CountdownEvent 专门用于以下情况:您必须使用 ...
- Win7远程桌面:发生身份验证错误
下载并安装KB4103718补丁,安装完成后重启计算机 http://www.catalog.update.microsoft.com/Search.aspx?q=KB4103718 根据操作系统选择 ...