Като разработчици обикновено трябва да жонглираме с множество GitHub акаунти на една и съща машина. Например имаме собствен личен акаунт в GitHub за собствен проект и след това друг акаунт в GitHub, който използваме за нашия клиентски проект.
Тази статия предоставя инструкции стъпка по стъпка за настройка и работа с множество акаунти в GitHub на една и съща машина.
В този сценарий ще създадем два различни GitHub акаунта на една и съща машина и след това ще превключваме между двата.
Първо, трябва да създадем нашите частни / публични SSH ключове за нашите лично сметка.
Можем да направим това, като изпълним следната команда в терминал:
$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'
Горният имейл адрес е този, който използвате, за да влезете в личния си акаунт в GitHub.
Когато бъдете помолени за местоположението за запазване на ключовете, приемете местоположението по подразбиране, като натиснете enter. Двойка частен / публичен ключ се създава в местоположението по 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-агента:
ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company
Това ще регистрира вашите SSH ключове с ssh-агент на машината.
Сега, когато създадохме нашите SSH ключове за лични и фирмени и ги регистрирахме в ssh-agent, вече можем лесно да превключваме между двата акаунта в GitHub на една и съща машина.
Трябва да се уверим, че в ssh-агента в даден момент сме добавили само съответния 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 акаунти на една и съща машина и да превключваме между тях, докато работим по съответните проекти.