如何在 Gitlab 和 Amazon CodeCommit 之间切换 Intellij Idea 项目 vcs?

Posted

技术标签:

【中文标题】如何在 Gitlab 和 Amazon CodeCommit 之间切换 Intellij Idea 项目 vcs?【英文标题】:How to switch Intellij Idea project vcs between Gitlab and Amazon CodeCommit? 【发布时间】:2018-02-01 21:51:39 【问题描述】:

我是 Amazon codecommit 的新手。

按照他们的指示,我做了一些如下的工作

使用 AdministratorAccess 创建新的 IAM 用户 创建一个新的代码提交存储库 安装awscli 并安装aws configure

当我正确完成这些事情时,我可以从 codecommit 中拉/推。 但是它被 intellij Idea 禁用。

我做了类似...

我从 gitlab 拉了一个项目 git remote rm origin git remote add origin [code commit url] git branch --set-upstream-to origin/master

现在我输入git [pull / push] origin master,我收到了这个错误信息。

unable to access 'https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test17/': The requested URL returned error: 403

当我通过浏览器访问此 url 时,它需要 id/pw。但我的 IAM 用户帐户信息不起作用。

我该怎么办? intellij有没有办法切换gitlab和codecommit?

谢谢。

【问题讨论】:

【参考方案1】:

首先,您将要创建一个具有适当权限的 IAM 用户,然后创建 Git 凭证。然后转到 IntelliJ IDEA 并说您正在使用 Git 凭证从 VCS 打开项目,使用您创建的 AWS git 凭证并登录。登录后,您应该能够拉/推到存储库。如果您仍然遇到问题并且已检查您正在使用的凭证是否处于活动状态,以及附加这些凭证以具有正确权限的 IAM 用户,我建议您在 AWS 支持上创建一个工单,因为您的账户可能有问题AWS 员工需要修复。

【讨论】:

请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。【参考方案2】:

在 Mac 上测试。您的里程可能会有所不同!

我刚刚遇到了同样的问题。 MacOS 将 GIT UID 和 PW 存储在 Keychain 中(在您的 Applications > Utilities 文件夹中)。我从钥匙串中删除了所有对 AWS Code Commit 的引用,这迫使我重新输入 UID 和 PW。这似乎已经解决了问题。

附带说明:我认为这是因为我撤销了之前在 AWS 上的 GIT 凭证并创建了一个新凭证。我认为钥匙串正在输入旧的 UID/PW,然后在身份验证过程中失败。

【讨论】:

【参考方案3】:

根据描述,您似乎正在尝试使用 https 连接到 Intellij 中的 CodeCommit 存储库。为此,您需要在 IAM 控制台中为您的 iam 用户生成 GitCredentials(username/password)。 详细步骤记录在 aws 文档中:http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html

获得用户名/密码后,您可以使用这些凭据连接到 Intellij 中的 CodeCommit 存储库。

【讨论】:

【参考方案4】:

IntelliJ 不使用 awscli。它使用默认的系统外壳。

从描述来看,push/pull 似乎不适用于本机 shell 中的命令行 git,因此该问题与 IntelliJ 无关。

可能 git 尝试使用错误的凭据保存在它的 credential.helper 中,这就是它失败的原因。

检查git config credential.helper 以查看是否已配置。如果有,请尝试禁用它或清除保存的凭据。

【讨论】:

以上是关于如何在 Gitlab 和 Amazon CodeCommit 之间切换 Intellij Idea 项目 vcs?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jenkins 将 Docker 容器从 Amazon ECR 自动部署到 Kubernetes

如何使用 Apache Commons Codec 在 Java 中解码 JWT(标题和正文)?

如何找到 Parquet 文件生成时使用的 COMPRESSION_CODEC?

如何在 Amazon Kinesis 服务上部署和运行 Amazon Kinesis 应用程序

如何将 FFMPEG AV_CODEC_ID_PCM_S16BE 音频数据馈送到 AudioQueue

如何在一台机器上使用 GitLab 和 Gitlab-Mattermost?