Как разработчики, нам обычно приходится манипулировать несколькими учетными записями GitHub на одном компьютере. Например, у нас есть собственная личная учетная запись GitHub для нашего собственного проекта, а затем еще одна учетная запись GitHub, которую мы используем для нашего клиентского проекта.
В этой статье представлены пошаговые инструкции по настройке и работе с несколькими учетными записями GitHub на одном компьютере.
В этом сценарии мы создадим две разные учетные записи GitHub на одном компьютере, а затем будем переключаться между ними.
Во-первых, нам нужно создать наши закрытые / общедоступные SSH-ключи для наших личный учетная запись.
Мы можем сделать это, выполнив следующую команду в терминале:
$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'
Вышеупомянутый адрес электронной почты - это тот, который вы используете для входа в свою личную учетную запись GitHub.
Когда вас попросят указать место для сохранения ключей, примите расположение по умолчанию, нажав клавишу ВВОД. Пара закрытый / открытый ключ создается в расположении ssh по умолчанию ~/.ssh/
.
Наши личные SSH-ключи:
~/.ssh/id_rsa_personal.pub
и ~/.ssh/id_rsa_personal
Затем мы создаем наши закрытые / общедоступные SSH-ключи для наших клиент учетная запись:
$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'
Вышеупомянутый адрес электронной почты используется для входа в клиентскую учетную запись GitHub.
Приведенная выше команда создает наши клиентские SSH-ключи, расположенные в ~/.ssh/
.
Наши клиентские SSH-ключи:
~/.ssh/id_rsa_company.pub
и ~/.ssh/id_rsa_company
Войдите в свою личную учетную запись GitHub и добавьте свой id_rsa_personal.pub
личный открытый ключ.
Затем войдите в свою клиентскую учетную запись GitHub и добавьте вас id_rsa_company.pub
открытый ключ клиента.
Если вы не знаете, как это сделать, прочтите установить Git и сгенерировать ключи SSH .
Файл конфигурации SSH находится в ~/.ssh/
. Если вы не видите файл конфигурации, создайте его:
$ cd ~/.ssh/ $ touch config
// Creates the file if not exists $ nano config
// Opens the file for editing
Добавьте разные профили GitHub в файл конфигурации SSH:
# Personal account Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Company account-1 Host github.com-company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company
Запустите свой ssh-агент, запустив eval '$(ssh-agent -s)'
.
Затем добавьте свои SSH-ключи в ssh-agent:
ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company
Это зарегистрирует ваши ключи SSH с помощью ssh-agent на машине.
Теперь, когда мы создали наши ключи SSH для личных и корпоративных пользователей и зарегистрировали их с помощью ssh-agent, теперь мы можем легко переключаться между двумя учетными записями GitHub на одном компьютере.
Нам нужно убедиться, что в ssh-agent за раз добавлен только соответствующий SSH-ключ.
Например, если мы работаем над личным проектом, мы делаем:
$ ssh-add -D
//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key
Аналогичным образом, если мы работаем над нашим клиентским проектом, мы:
$ ssh-add -D
//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company
// Adds the company ssh key
И именно так мы можем управлять несколькими учетными записями GitHub на одном компьютере и переключаться между ними во время работы над соответствующими проектами.