【问题标题】:Replace a git remote without affecting branches [duplicate]在不影响分支的情况下替换 git 遥控器 [重复]
【发布时间】:2021-08-01 10:40:58
【问题描述】:

我正在开发一个项目,由于 DevOps 的变化,突然需要重新连接到远程(使用新 URL)。在不破坏未合并分支的情况下,我需要采取哪些步骤来移除旧遥控器并与新遥控器建立连接?

我已尝试使用以下方法更新远程 URL:

git remote set-url origin codecommit::us-west-2://myrepo

但在从 master 获取时出现此错误:

fatal: repository 'https://git-codecommit.us-west-2.amazonaws.com/v1/repos/myrepo/' not found

我错过了什么吗?

作为背景,我曾经使用的 CodeCommit 存储库已更改为需要联合访问。所以我想使用带有相应 URL 的 git-remote-codecommit (GRC) 而不是旧的标准 HTTPS URL。

【问题讨论】:

  • @1615903 git remote set-url 不幸的是似乎不起作用。执行 fetch 会出现此错误:致命:找不到存储库“git-codecommit....
  • 这意味着你的存储库 URL 错误,而不是 set-url 不起作用。
  • @1615903 你是对的。新遥控器无法识别凭据。我修复了它并能够连接。

标签: git git-remote


【解决方案1】:

首先,更改来源之前,您可以检查一个 URL 是否可以使用:

git ls-remote <newURL>

你可以在任何地方执行该命令,只要它不能完全工作......你不必担心git remote set-url origin

其次,我知道codecommit AWS endpoints (HTTPS or SSH),但不知道“联合”。
仔细检查“Using Federated Identities with AWS CodeCommit”中描述的过程,尤其是/home/ec2-user/.aws目录内容。

OP Mossi 加上the comments

原来 AWS Credential Helper 所需的 IAM 角色已从我的环境变量中消失。

我将其添加回来,并且能够使用 GRC URL 连接到存储库。简而言之,set-url 就是解决方案。

【讨论】:

  • 这很有帮助。原来,AWS Credential Helper 所需的 IAM 角色已从我的环境变量中消失。我将其添加回来,并且能够使用 GRC URL 连接到存储库。简而言之,set-url 是解决方案。
  • 太棒了!干得好。
猜你喜欢
  • 2016-11-08
  • 2010-10-03
  • 2018-06-25
  • 1970-01-01
  • 2019-09-07
  • 1970-01-01
  • 2022-01-20
  • 2023-02-07
  • 2018-12-12
相关资源
最近更新 更多