使用 HTTPS GRC 从 AWS codecommit 获取私有存储库
Get a private repository from AWS codecommit using HTTPS GRC
我正在尝试导入位于 AWS codecommit 中的模块。要克隆存储库,我使用 HTTPS GRC(Git 远程代码提交)方法,该方法使用 Google 套件凭据访问 AWS 控制台。
我用来克隆存储库的命令是:
git clone codecommit::us-west-2://my-module
远程模块的 go.mod
文件包含:
module git-codecommit.us-west-2.amazonaws.com/my-module.git
我试图通过这样配置 Git 来实现我的目标:
git config --global url."codecommit::us-west-2://".insteadOf "https://git-codecommit.us-west-2.amazonaws.com/"
已设置 GOPRIVATE:
go env -w GOPRIVATE=git-codecommit.us-west-2.amazonaws.com/my-module.git
然后获取存储库:
go get -x git-codecommit.us-west-2.amazonaws.com/my-module.git
但我得到了这个输出(并且执行卡住了):
cd.
git ls-remote https://git-codecommit.us-west-2.amazonaws.com/my-module
我想提一下,当我手动执行 git ls-remote https://git-codecommit.us-west-2.amazonaws.com/my-module
命令时,我可以毫无问题地获取分支和标签的信息。
我检查了 this topic 但在那种情况下使用 SSH 协议而不是 HTTP GRC。也许从私有存储库导入模块的唯一方法是通过 SSH?
终于找到解决方案:
设置 Git 凭据助手:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
设置 GOPRIVATE 环境变量:
go env -w GOPRIVATE=git-codecommit.us-west-2.amazonaws.com
在 MacOS 中,禁用 Git 的钥匙串:
在包含该值的文件中注释 helper = osxkeychain
(运行 git config -l --show-origin | grep credential
以查找目标文件)
运行 去获取:
go get git-codecommit.us-west-2.amazonaws.com/v1/repos/my-module.git
我正在尝试导入位于 AWS codecommit 中的模块。要克隆存储库,我使用 HTTPS GRC(Git 远程代码提交)方法,该方法使用 Google 套件凭据访问 AWS 控制台。
我用来克隆存储库的命令是:
git clone codecommit::us-west-2://my-module
远程模块的 go.mod
文件包含:
module git-codecommit.us-west-2.amazonaws.com/my-module.git
我试图通过这样配置 Git 来实现我的目标:
git config --global url."codecommit::us-west-2://".insteadOf "https://git-codecommit.us-west-2.amazonaws.com/"
已设置 GOPRIVATE:
go env -w GOPRIVATE=git-codecommit.us-west-2.amazonaws.com/my-module.git
然后获取存储库:
go get -x git-codecommit.us-west-2.amazonaws.com/my-module.git
但我得到了这个输出(并且执行卡住了):
cd.
git ls-remote https://git-codecommit.us-west-2.amazonaws.com/my-module
我想提一下,当我手动执行 git ls-remote https://git-codecommit.us-west-2.amazonaws.com/my-module
命令时,我可以毫无问题地获取分支和标签的信息。
我检查了 this topic 但在那种情况下使用 SSH 协议而不是 HTTP GRC。也许从私有存储库导入模块的唯一方法是通过 SSH?
终于找到解决方案:
设置 Git 凭据助手:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
设置 GOPRIVATE 环境变量:
go env -w GOPRIVATE=git-codecommit.us-west-2.amazonaws.com
在 MacOS 中,禁用 Git 的钥匙串:
在包含该值的文件中注释 helper = osxkeychain
(运行 git config -l --show-origin | grep credential
以查找目标文件)
运行 去获取:
go get git-codecommit.us-west-2.amazonaws.com/v1/repos/my-module.git