我嘗試從 mac 的私有 gitlab 服務(wù)器獲取存儲庫。我將 git 配置 (~/.gitconfig) 設(shè)置為使用 ssh 而不是 https :[url "git@gitlab.mysite.com:"]
insteadOf = https://gitlab.mysite.com/當(dāng)我使用 https url 克隆項(xiàng)目時(shí),我得到了正確的替換$ 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)但是,當(dāng)我使用 go get 時(shí),它會嘗試使用 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 配置?我該如何解決?我知道這個(gè)問題類似于這個(gè)問題:go get: Git settings ignored和許多其他關(guān)于私人回購的問題我的問題不同
1 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
該錯誤發(fā)生在git clone
調(diào)用之前。當(dāng)您調(diào)用 時(shí)go get
,它會向 URL 發(fā)出 HTTPS 調(diào)用以檢查標(biāo)頭并查看它是否提供重定向go get
。那就是失敗的原因。
它失敗了,因?yàn)榉?wù)器提供的證書不是由您在本地系統(tǒng)上指定為受信任的證書頒發(fā)機(jī)構(gòu)簽名的。這可能是因?yàn)槟膬?nèi)部 gitlab 正在使用未簽名的證書,因?yàn)橛糜诤炇鹚?CA 尚未添加到您的本地系統(tǒng),或者因?yàn)槟墓ぷ鲌鏊谑褂弥虚g人式代理而您沒有沒有添加該代理的CA。您可以嘗試修復(fù)證書問題,也可以簡單地運(yùn)行:
go get -insecure gitlab.mysite.com/group/project
-insecure 標(biāo)志允許使用不安全的方案(例如 HTTP)從存儲庫中獲取并解析自定義域。謹(jǐn)慎使用。
值得注意的是,這會繞過用于簽署服務(wù)器證書的 CA 的驗(yàn)證。
- 1 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)
0/150
提交
取消