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 ...
随机推荐
- django项目部署
1.布署前需要关闭调试.允许任何机器访问,在setting文件中设置 DEBUG = False ALLOW_HOSTS=['*',] 2.安装uWSGI pip install uwsgi 3.配置 ...
- IntelliJ IDEA mybatis-generator的使用
STEP 1. 在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 pop.xml <dependency> <groupId& ...
- C# webapi简单学习
创建WebApi项目: 在VS工具中创建一个ASP.NET Web应用程序 选择Webapi 一个webapi项目就创建好了 这里简单的写一个post和get两种请求的方法,由于post请求参数需要参 ...
- CSRF总结
一.CSRF概述 CSRF跨站请求伪造,2007年被列为互联网20大安全隐患之一. 什么是跨站请求伪造?CSRF或XSRF 挟制用户在当前已经登录的web应用程序上执行非本意的操作的攻击方法.攻击者盗 ...
- ssh登录locale报错:cannot change locale (zh_CN.UTF-8): No such file or directory
一.登录ssh报错: Last :: from 172.28.146.109 -bash: warning: setlocale: LC_ALL: cannot change locale (en_C ...
- 大数据学习笔记5 - Spark
Spark是一个基于内存计算的大数据并行计算框架.所以,Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型. 在实际应用中,大数据处理无非是以下几个类型: 复 ...
- 报错:The import android.support cannot be resolved
下一个android-support-v7-appcompat.jar 然后导入即可 :
- audiounit错误码对应值查询
https://www.osstatus.com/search/results?platform=all&framework=all&search=(错误码的值) EX: https ...
- 简单的StringBuffer实现
package com.letv.test.base; import java.util.Arrays; public class StringBuffer { private char[] valu ...
- CSS定位网页中的元素
relative相对定位 偏移设置:left.right.top.bottom 值单位:px 元素的规律: 相对定位元素的规律 设置相对定位的盒子会相对它原来的位置通过指定偏移,到达新的位置. 设置相 ...