Несколько GitHub-аккаунтов на одном компьютере
После устройства на новое место работы мне был выдан корпоративный email и доступы в закрытый репозиторий компании, который, само собой, не совпадает с вашим личным почтовым ящиком.
Поэтому решил заморочиться и сделать для пет-проектов одну учетную запись GitHub на компьютере, для работы — другую.
Обо всем по шагам.
1. Сгенерируйте новый SSH-ключ:
ssh-keygen -t ed25519 -C "mihdan@my-company.ru"
Следуя подсказкам, выберите имя, например id_ed25519_my_company
.
2. Скопируйте публичный ключ SSH на GitHub из ~/.ssh/id_ed25519_my_company.pub
и сообщите SSH об этом ключе:
ssh-add ~/.ssh/id_ed25519_my_company
3. Создайте файл конфигурации config
в ~/.ssh
со следующим содержимым:
Host github-my-company
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_my_company
4. Добавьте ссылку на удалённый репозиторий в таком виде:
git remote add origin git@github-my-company:username/repo.git
Или измените текущий URL:
git remote set-url origin git@github-my-company:username/repo.git
Кроме того, если вы работаете с несколькими репозиториями, используя разные имена/email, вам нужно убедиться, что настройки пользователей в отдельных репозиториях переопределены правильным образом.
Начиная с версии git 2.13 вы можете установливать электронную почту для каждого отдельного репозитория, отредактировав файл глобальной конфигурации, расположенный по адресу: ~/.gitconfig
, используя условия, как показано ниже:
[user]
name = Mihdan Magadan
email = mihdan@my-company.ru
[includeIf "gitdir:~/work/"]
path = ~/work/.gitconfig
И тогда ваша рабочая конфигурация ~/work/.gitconfig
будет выглядеть следующим образом:
[user]
name = Mikhail Kolyma
email = mikhail@kolyma.com
Если вам нужен еще один отдельный аккаунт GitHub на вашей машине — повторите первые 4 шага снова.
Источник: SO.