来自Bitbucket的'Go Get'私人回购

时间:2016-07-29 22:36:57

标签: git go bitbucket

所以基本上,我有一个Openshift项目,在Git上,用'Go get'下载所有库并动态构建项目,所以,我有一些代码,我不希望别人看到我的自己的库,并为了正确编译,代码需要从github.com或其他回购,所以我创建了一个私人bitbucket.org repo,现在,作为一个公共回购它工作正常,但当我尝试'从我的私人回购中获取,它给了我'Forbidden 403'

如何避免这种情况发生? 感谢您阅读并度过美好的一天!

3 个答案:

答案 0 :(得分:56)

go get在内部使用git。以下一个内容将使gitgo get通过SSH克隆您的包。

Github上:

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

到位桶:

git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"

答案 1 :(得分:3)

除设置其他人描述的git config外,我还必须设置GOPRIVATE

步骤1。git config --global url."git@bitbucket.<YOUR-COMPANY>".insteadOf "https://bitbucket.org/<YOUR-COMPANY>"

第2步。export GOPRIVATE=bitbucket.org/<YOUR-COMPANY>

GOPRIAVTE记录在这里:https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules

答案 2 :(得分:0)

Ammar Bandukwala's answer是正确的,但是如果您发现自己位于关闭了SSH传出端口(22)的防火墙后面,则可以改用SSH over HTTPS端口(443):

git config --global url."ssh://git@altssh.bitbucket.org:443/<account_name>".insteadOf "https://bitbucket.org/<account_name>"

来源:https://confluence.atlassian.com/bitbucket/troubleshoot-ssh-issues-271943403.html#TroubleshootSSHissues-Ifport22isblocked