代码之家  ›  专栏  ›  技术社区  ›  BlueMagma

go get:Git设置被忽略

  •  0
  • BlueMagma  · 技术社区  · 6 年前

    我试着从一个私有的gitlab服务器上,从mac上获取一个存储库。

    我将git config(~/.gitconfig)设置为使用ssh而不是https:

    [url "git@gitlab.mysite.com:"]
        insteadOf = https://gitlab.mysite.com/
    

    当我使用https url克隆项目时,我得到了正确的替换

    $ git clone https://gitlab.mysite.com/group/project
    $ cd project
    $ git remote -v
    origin  git@gitlab.mysite.com:group/project (fetch)
    origin  git@gitlab.mysite.com:group/project (push)
    

    但是,当我使用go-get时,它尝试使用https url,但失败了

    $ go get gitlab.mysite.com/group/project
    package gitlab.mysite.com/group/project: unrecognized import path "gitlab.mysite.com/group/project" (https fetch: Get https://gitlab.mysite.com/group/project?go-get=1: x509: certificate signed by unknown authority)
    

    我知道问题类似于这个问题: go get: Git settings ignored

    我的问题不同

    1 回复  |  直到 6 年前
        1
  •  4
  •   Kaedys    6 年前

    git clone 打电话。当你打电话的时候 go get ,它将对URL进行HTTPS调用,以检查标头并查看是否提供 快去拿

    它失败是因为服务器提供的证书没有由您在本地系统上指定为受信任的证书颁发机构签名。这可能是因为您的内部gitlab使用的是未签名的证书,用于签名的CA尚未添加到本地系统,或者您的工作区使用的是中间人样式的代理,而您没有 那个代理人 CA补充道。您可以尝试修复证书问题,也可以只运行:

    go get -insecure gitlab.mysite.com/group/project
    

    -unsecure标志允许从存储库获取和解析 使用HTTP等不安全方案的自定义域。小心使用。