我有:
计算机 Aid_rsa
与id_rsa.pub
计算机 B 具有不同的id_rsa
and id_rsa.pub
(与计算机 A 中的不同)和id_rsa2
id_rsa2.pub
我在 Heroku 上创建了一个帐户,来自id_rsa.pub
机器 A。现在我尝试在机器 B 上拉取一个项目,所以我尝试id_rsa.pub
从机器 B 添加。不幸的是,前段时间我在另一个 Heroku 项目中使用了它(使用另一个帐户),而我无法在这个项目中使用它。所以我添加了id_rsa2.pub
,它是有效的。但heroku git:clone
仍然尝试使用id_rsa
而不是id_rsa2
。我该如何强制它?
答案1
解决方案是在你的机器上本地定义不同的域,这是通过
将以下内容添加到 ~/.ssh/config 文件中
Host heroku.personal
HostName heroku.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Host heroku.work
HostName heroku.com
IdentityFile ~/.ssh/work_rsa
IdentitiesOnly yes
现在你可以使用 git clone 克隆项目[电子邮件保护]:your-app-name.git 注意,使用的是 heroku.work,而不是 heroku.com
现在我们需要更改项目中的 .git/config,以便让任何进一步的 git 命令使用新的 url
请注意,文件 /path/to/your/app/.git/config 中的 url 设置为您在 git clone 命令中使用的 url