`git push heroku master` завершается с ошибкой, потому что он использует неправильный адрес электронной почты

#ruby-on-rails #git #heroku #heroku-toolbelt

#ruby-on-rails #git #heroku #heroku-toolbelt

Вопрос:

Я создал приложение rails с

 $ rails new appname
$ cd appname
  

Я инициализировал его как репозиторий git

 $ git init
$ git add .
$ git commit -m 'init'
  

Я вошел в heroku

 $ heroku login
Email: correct@email.com
Password (typing will be hidden):
  

Я создал приложение heroku

 $ heroku create
Creating radiant-bayou-6540... done, stack is cedar
http://radiant-bayou-6540.herokuapp.com/ | git@heroku.com:radiant-bayou-6540.git
Git remote heroku added
  

Я попытался нажать на heroku

 $ git push heroku master
!  Your account incorrect@email.com does not have access to radiant-bayou-6540.
  

Подождите, что? Я не входил в систему с incorrect@email.com Я вошел в систему с correct@email.com . Давайте посмотрим на git

 $ git config user.email
correct@email.com
  

Что?! Почему heroku думает, что я вхожу с wrong@email.com

Ответ №1:

Источник

SSH-ключи вашей учетной записи привязаны к вашей старой электронной почте. Вам придется перенести его в свою новую учетную запись

 $ heroku login
Enter your Heroku credentials.
Email: incorrect@email.com
Password: 

$ heroku keys:remove incorrect@email.com
  

и добавьте его в свою новую учетную запись

 $ heroku login
Enter your Heroku credentials.
Email: correct@email.com
Password: 

$ heroku keys:add
  

В противном случае попробуйте создать заново и добавить новый ssh-ключ

Комментарии:

1. После этого я столкнулся с другой проблемой, которая оказалась необходимой ssh-add ~/.ssh/my-new-key , но теперь она работает.

Ответ №2:

Удаление записи known_hosts для ssh должно помочь. Для Linux и Mac он находится в каталоге $HOME /.ssh

Ответ №3:

В моем случае мне просто пришлось переключиться на использование ssh.

 git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/
  

Если используется heroku remote https , git, похоже, извлекает учетные данные из другого места.