使用HTTPS GRC从AWS代码提交获取私有存储库



我正在尝试导入位于AWS codecommit中的模块。要克隆存储库,我使用HTTPS GRC (Git Remote Codecommit)方法,它使用Google Suite凭据访问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命令时,我可以毫无问题地获得分支和标签的信息。

我检查了这个主题,但在这种情况下使用SSH协议而不是HTTP GRC。也许从私有存储库导入模块的唯一方法是通过SSH?

终于找到解决办法了:

设置Git凭证帮助器:

git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true

设置gopprivate环境变量:

go env -w GOPRIVATE=git-codecommit.us-west-2.amazonaws.com

在MacOS中,禁用Git的keychain:

在包含该值的文件中注释helper = osxkeychain(运行git config -l --show-origin | grep credential查找目标文件)

Run go get:

go get git-codecommit.us-west-2.amazonaws.com/v1/repos/my-module.git

相关内容

  • 没有找到相关文章

最新更新