首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“获取”私有存储库的正确方法是什么?

“获取”私有存储库的正确方法是什么?
EN

Stack Overflow用户
提问于 2014-12-16 17:00:52
回答 16查看 175.8K关注 0票数 208

经过谷歌的多次尝试,我正在寻找让$ go get与私有存储库一起工作的方法。

第一次尝试:

代码语言:javascript
运行
复制
$ go get -v gitlab.com/secmask/awserver-go
Fetching https://gitlab.com/secmask/awserver-go?go-get=1
https fetch failed.
Fetching http://gitlab.com/secmask/awserver-go?go-get=1
Parsing meta tags from http://gitlab.com/secmask/awserver-go?go-get=1 (status code 200)
import "gitlab.com/secmask/awserver-go": parse http://gitlab.com/secmask/awserver-go?go-get=1: no go-import meta tags
package gitlab.com/secmask/awserver-go: unrecognized import path "gitlab.com/secmask/awserver-go

是的,它看不到meta标签,因为我不知道如何提供登录信息。

第二次尝试:

沿着https://gist.github.com/shurcooL/6927554行驶。将配置添加到.gitconfig。

代码语言:javascript
运行
复制
[url "ssh://git@gitlab.com/"]
    insteadOf = https://gitlab.com/
$ go get -v gitlab.com/secmask/awserver-go --> not work
$ go get -v gitlab.com/secmask/awserver-go.git --> work but I got src/gitlab.com/secmask/awserer-go.git

是的,它可以工作,但是使用我的项目名称的.git扩展名,我可以将它重命名为original,但每次$ go get不是那么好的时候都这样做,有没有其他方法?

EN

回答 16

Stack Overflow用户

发布于 2014-12-16 17:12:07

您有一件事需要配置。这个例子是基于GitHub的,但是这不应该改变这个过程:

代码语言:javascript
运行
复制
$ git config --global url.git@github.com:.insteadOf https://github.com/
$ cat ~/.gitconfig
[url "git@github.com:"]
    insteadOf = https://github.com/
$ go get github.com/private/repo

要让Go模块工作(使用Go 1.11或更高版本),您还需要设置GOPRIVATE变量,以避免使用公共服务器获取代码:

代码语言:javascript
运行
复制
export GOPRIVATE=github.com/private/repo
票数 153
EN

Stack Overflow用户

发布于 2014-12-16 17:20:12

正确的方法是手动将存储库放在正确的位置。一旦存储库存在,您就可以使用go get -u更新软件包,使用go install安装它。一个名为的包

代码语言:javascript
运行
复制
github.com/secmask/awserver-go

进入

代码语言:javascript
运行
复制
$GOPATH/src/github.com/secmask/awserver-go

您键入的命令包括:

代码语言:javascript
运行
复制
cd $GOPATH/src/github.com/secmask
git clone git@github.com:secmask/awserver-go.git
票数 55
EN

Stack Overflow用户

发布于 2017-08-29 18:25:38

我在我们公司的gitlab上使用私有存储库时遇到了go get的问题。我在寻找解决方案的过程中浪费了几分钟。我找到了这个:

  1. 您需要在以下位置获取私有令牌:

https://gitlab.mycompany.com/profile/account

  • Configure你可以用你的私有令牌来添加额外的头文件:

$ git config --global ssh“YOUR_PRIVATE_TOKEN

  • Configure - http.extraheader :YOUR_PRIVATE_TOKEN

  • Configure您的git以将请求从http转换为ssh:

$ git "https://gitlab.mycompany.com/"

  • Finally --全局url."git@gitlab.mycompany.com:".insteadOf go get您可以正常使用url:

$ go获取gitlab.com/company/private_repo

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27500861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档