You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移AWS账户期间,如何在Mac上同时访问两个账户的CodeCommit仓库?

当然可以实现!Mac上同时访问两个AWS账户的CodeCommit仓库

我之前帮好几个同事解决过一模一样的问题,核心是让Git针对不同的CodeCommit仓库路径,自动匹配对应的HTTPS凭证。下面给你两种最实用的方案,你可以按需选择:

方案一:通过Git全局配置实现凭证映射(推荐,最灵活)

这种方法能让Git根据仓库URL或本地存储目录,自动切换对应的AWS账户凭证,长期使用非常省心。

方式1:按仓库URL前缀匹配

  1. 打开终端,编辑你的全局Git配置文件:
    open ~/.gitconfig
    
  2. 在文件末尾添加以下配置,替换成你的实际信息:
    [credential "https://git-codecommit.<你的AWS区域>.amazonaws.com"]
        UseHttpPath = true
    [credential "https://git-codecommit.<你的AWS区域>.amazonaws.com/v1/repos/<旧账户仓库前缀>"]
        username = <旧账户的HTTPS凭证用户名>
        password = <旧账户的HTTPS凭证密码>
    [credential "https://git-codecommit.<你的AWS区域>.amazonaws.com/v1/repos/<新账户仓库前缀>"]
        username = <新账户的HTTPS凭证用户名>
        password = <新账户的HTTPS凭证密码>
    
    比如旧账户的仓库都以legacy-开头,新账户以new-开头,就可以把<旧账户仓库前缀>设为legacy-*,这样所有旧账户的仓库都会自动用旧凭证,新的用新凭证。如果没有统一前缀,也可以指定单个仓库的完整路径。

方式2:按本地仓库目录匹配

如果你习惯把不同账户的仓库分开存储(比如旧账户放~/code/aws-old/,新账户放~/code/aws-new/),可以用目录匹配的方式:

  1. 同样编辑全局.gitconfig:
    open ~/.gitconfig
    
  2. 添加以下内容:
    [includeIf "gitdir:~/code/aws-old/"]
        path = ~/.gitconfig-aws-old
    [includeIf "gitdir:~/code/aws-new/"]
        path = ~/.gitconfig-aws-new
    
  3. 分别创建两个账户的独立配置文件:
    • 创建~/.gitconfig-aws-old,写入旧账户的凭证:
      [credential "https://git-codecommit.<你的AWS区域>.amazonaws.com"]
          username = <旧账户HTTPS用户名>
          password = <旧账户HTTPS密码>
      
    • 创建~/.gitconfig-aws-new,写入新账户的凭证:
      [credential "https://git-codecommit.<你的AWS区域>.amazonaws.com"]
          username = <新账户HTTPS用户名>
          password = <新账户HTTPS密码>
      
    这样Git会根据你当前操作的仓库目录,自动加载对应的凭证配置,完全不用手动切换。

方案二:修改OSX钥匙串凭证

你之前旧账户的凭证已经存在钥匙串里,系统默认会用它访问所有CodeCommit仓库,导致新账户的仓库因为权限问题被提示「不存在」。可以通过钥匙串单独为新账户仓库添加凭证:

  1. 打开「钥匙串访问」应用,搜索关键词git-codecommit,找到旧账户的凭证条目。
  2. 点击左上角的「新建密码项」:
    • 账户名称:填入新账户的HTTPS凭证用户名
    • 密码:填入新账户的HTTPS凭证密码
    • 网站:填入新仓库的完整CodeCommit URL(比如https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-new-repo)
  3. 保存后,当你访问这个新仓库时,系统会优先匹配这个特定URL的凭证,不会再用旧账户的凭证干扰。

临时测试小技巧

如果只是临时需要克隆新账户的仓库,可以直接在URL里携带凭证(不推荐长期使用,避免密码暴露在命令行历史):

git clone https://<新账户用户名>:<新账户密码>@git-codecommit.<你的AWS区域>.amazonaws.com/v1/repos/<新仓库名>

最后提醒:如果之前克隆新仓库失败过,记得先删除本地的错误仓库目录,再重新尝试,确保Git使用新的凭证访问。

内容的提问来源于stack exchange,提问作者Swordfish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:35:45