我正在尝试git pull heroku master
,但我正在
! Your account email@gmail.com does not have access to app_name.
!
! SSH Key Fingerprint: 30:02:49:32...
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我已完成heroku login
并已成功通过身份验证。我需要切换帐户但不确定除了heroku login
之外我还需要做什么。
答案 0 :(得分:12)
尝试找到所有有用的答案here。
对我来说,我有两个不同的heroku帐户,每个帐户都与不同的git存储库相关联。所以我不得不告诉heroku为每一个使用特定的SSH密钥(显然,不仅仅是第一个可用的密钥,这似乎是默认行为)。对我有用的确切方法是遵循here和here步骤。
细节:
创建新的rsa密钥:指定您想要的任何电子邮件,并选择一个易于记住并与特定的heroku应用相关联的名称。或者您可以将其命名为/ id_rsa_herokualt。
$ ssh-keygen -t rsa -C "youremail[at]domain.com" -f ~/.ssh/id_rsa_myherokuapp
添加到您的计算机:确保输入您在上一步中指定的确切文件名。
$ ssh-add ~/.ssh/id_rsa_myherokuapp
添加到Heroku:这假设您已使用heroku login
登录heroku。
$ heroku keys:add ~/.ssh/id_rsa_myherokuapp.pub
将heroku.com的备用主机添加到〜/ .ssh / config。通过转到Finder并按下命令+ shift + g并输入〜/ .ssh /来找到此文件。在文本编辑器中打开Config文件,添加以下文本,然后保存:
Host heroku-alt
HostName heroku.com
IdentityFile ~/.ssh/id_rsa_myherokuapp
更新项目中的.git / config以使用主机别名。通过转到Finder并按下命令+ shift + g并输入〜/ path / to / your /来找到此文件库/ git的。在文本编辑器中打开Config文件,添加以下文本,然后保存:
[remote "heroku"]
url = git@heroku-alt:myherokuapp.git
fetch = +refs/heads/*:refs/remotes/heroku/*
说明:通过在特定项目的.git / config文件的远程中选择heroku和heroku-alt,您可以管理哪些项目使用哪些凭据。
答案 1 :(得分:0)
您在Heroku登录中使用的电子邮件必须与您的heroku应用程序内的Access选项卡中指定的电子邮件匹配(在heroku网站中)。
还尝试更改您的git电子邮件(git config --local user.email" email@email.org")以匹配您在heroku登录中使用的电子邮件。