Управление несколькими учетными записями Git на компьютере
Хотите использовать учетную запись Git для работы и одну для личных проектов?
Недавно я начал работать в компании, которая использует GitHub Enterprise для своего решения Git. Я установил свой рабочий ноутбук и его терминал для использования этой учетной записи GitHub и учетных данных git для управления git на моем компьютере.
Я также хотел работать над своими личными проектами, которые я поддерживал в своей учетной записи GitHub. Процесс поддержки нескольких учетных записей Git на одной машине был простым, но я не знал, как это сделать.
Я немного посмотрел на него и заставил его работать. Если вы ищете то же самое, выполните следующие действия:
(Команды и каталоги соответствуют компьютеру Mac. В Linux или Windows все может измениться, но работа, которую нужно выполнить, остается прежней.)
1. Создайте отдельные ключи SSH для обеих (или нескольких?) Учетных записей.
Перейдите в свой каталог .ssh
и сгенерируйте наборы ключей SSH для обеих учетных записей. Это можно игнорировать для учетных записей, для которых уже создана пара. Это было верно для моего случая, поскольку я уже создал свою рабочую учетную запись.
Чтобы сгенерировать пару ключей ssh, запустите ssh-keygen -t rsa
Следуйте инструкциям, которые запрашивают местоположение файла, имя и т.д. В качестве имени я предпочитаю установить что-то вроде id_rsa_work
и id_rsa_personal
так как его легче идентифицировать (на случай, если мне когда-нибудь понадобится).
2. Управление файлом конфигурации ssh.
В папке .ssh
должен быть файл с именем config
. Если нет, нам нужно создать его, запустив touch config
.
Отредактируйте конфиг и добавьте в него следующие строки:
#work account
Host github<-identifier>.com
HostName <enterprice github host>
User git
IdentityFile ~/.ssh/id_rsa_work
IdentitiesOnly yes
#personal account
Host github<-identifier>.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
IdentitiesOnly yes
Пример конфигурации:
#pradipta-sarma account
Host github.com
HostName xyz.github.com
User git
IdentityFile ~/.ssh/id_rsa_work
IdentitiesOnly yes
#pradipta account
Host github-personal.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
IdentitiesOnly yes
И сохраните файл.
3. Зарегистрируйте ключи SSH в соответствующих учетных записях GitHub.
Этот шаг позволяет GitHub идентифицировать нашу машину и авторизовать ее, чтобы каждый раз не вводить идентификатор и пароль.
Следуйте инструкциям здесь, чтобы добавить ключи к соответствующим учетным записям.
Чтобы избежать использования рабочей учетной записи на клоне для личного репо, вы можете изменить клон с: git clone git@github.com:user/repo.git
на git clone git@github-personal.com:user/repo.git
С этим все готово. Сообщите мне, если есть проблема или я что-то пропустил.