У меня 2 разных аккаунта на Github. И я установил 2 разные клавиши S SH. Зарегистрировал оба ключа на Github с правильной учетной записью и создал файл git config
, в котором должны использоваться правильные учетные данные для работы с удаленным репозиторием (ie использует мою личную учетную запись для личной работы и рабочую учетную запись для удаленной работы). Вот как выглядит мой git конфигурационный файл:
Host personal.github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
IdentitiesOnly yes
Host work.github.com
HostName github.com
PreferredAuthentications publickey
User git
IdentityFile ~/.ssh/id_rsa_work
IdentitiesOnly yes
Он работает, я могу клонировать и pu sh проекты.
Проблема:
Допустим, я создал новое удаленное репо в моей рабочей учетной записи. Когда я клонирую проект на моей локальной машине, я использую: git clone git@work.github.com:[username]/my-plan.git
Затем внесите некоторые изменения, зафиксируйте их и отправьте sh обратно в удаленное хранилище. Это работает, но вместо того, чтобы показывать учетные данные моей рабочей учетной записи в разделе «Участники», он фактически показывает мою личную учетную запись.
Если я запускаю git remote -v
, я получаю:
origin git@work.github.com:[username]/my-plan.git (fetch)
origin git@work.github.com:[username]/my-plan.git (push)
Я не понимаю, почему это происходит, когда связанный ключ S SH подключен к моей рабочей учетной записи, а не к моей личной учетной записи , Что мне нужно сделать, чтобы быть уверенным, что каждый раз, когда я возвращаю sh проект обратно, с моего рабочего, а не личного?