Вот очень четкое объяснение, которого не хватает в документации Heroku или других ответах на вопрос.По крайней мере, вся информация не появляется ни в одном месте.Это также позволит вам понять проблему так, как это делает инструмент учета.
Heroku идентифицирует вас двумя способами:
Первый находится в .git / config
[heroku]
account = acccount_name
Это позволяет вам выполнять основные операции, используя heroku
Второй способ, которым героку идентифицирует вас, - это любая операция, использующая ssh (git push).Heroku идентифицирует вас по вашему ключу ssh, как указано здесь: https://devcenter.heroku.com/articles/keys
Эта пара ключей используется для надежной криптографии и уникально идентифицирует вас как разработчика при нажатии на изменения кода.
Таким образом, каждая учетная запись heroku, над которой вы работаете, должна будет отправлять разные ключи heroku при использовании ssh.Следуйте любому руководству для создания ключей SSH.
Ключ заставляет SSH использовать разные ключи для каждой учетной записи Heroku.Как вы это настраиваете?Вам нужно будет сделать 2 вещи:
1) Вам нужно будет создать «фиктивный» домен, который ваш .ssh / config будет перехватывать и перенастраивать.Это сообщит SSH «фактический» домен, который вы хотите, и какой специальный ключ SSH использовать.
Host heroku.my_unique_key
HostName heroku.com
IdentityFile ~/.ssh/identity.heroku.my_unique_key
IdentitiesOnly yes
2) Измените ваш .git / config, чтобы использовать его при использовании git push.Вместо heroku.com, используйте фиктивный домен, который вы установили в .ssh / config
[remote "heroku"]
url = git@heroku.com.git
[remote "heroku"]
url = git@heroku.my_unique_key:myapp.git
Вот и все :) Немного сложно и немного просто одновременно.Мне понадобилось 3 года, чтобы биться головой об стену, проб и ошибок, чтобы обнаружить эту информацию.Это должно быть где-то четко задокументировано, но, по крайней мере, это начало.