Несколько учетных записей GitHub на одном компьютере? - PullRequest
339 голосов
/ 05 октября 2010

Попытка работать с моими реальными «рабочими» репозиториями и с моими личными репозиториями в git hub с моего компьютера.

Сначала была настроена рабочая учетная запись, и все работает без нареканий.

Моя личная учетная запись, однако, не может подтолкнуть к моему личному репо, настроенному под другой учетной записью / адресом электронной почты.

Я пытался скопировать рабочий ключ в свою личную учетную запись, но этовыдает ошибку, потому что, конечно, ключ может быть прикреплен только к одной учетной записи.

Как я могу выдвигать / извлекать данные из обеих учетных записей из их соответствующих учетных данных github?

Ответы [ 17 ]

2 голосов
/ 10 апреля 2016

Помимо создания нескольких ключей SSH для нескольких учетных записей, вы также можете добавить соавторов в каждый проект, используя одинаковые адреса электронной почты учетной записи, и сохранить пароль навсегда.настройте несколько учетных записей с разными адресами электронной почты, затем укажите одного и того же пользователя и адрес электронной почты для каждой учетной записи в качестве одного из соавторов.Таким образом, я могу получить доступ ко всем аккаунтам без добавления ключа SSH или переключения на другое имя пользователя и адрес электронной почты для аутентификации.

1 голос
/ 23 февраля 2019

только что понял это для Windows, используя учетные данные для каждого репо:

cd c:\User1\SomeRepo
git config --local credential.https://github.com.user1 user1
git config --local credential.useHttpPath true
git config --local credential.helper manager
git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git

Формат учетных данных. https://github.com. сообщает помощнику по учетным данным URL-адрес для учетных данных.'UseHttpPath' указывает менеджеру учетных данных использовать путь для учетных данных.Если useHttpPath опущен, тогда диспетчер учетных данных сохранит одну учетную запись для https://github.com.. Если она включена, тогда диспетчер учетных данных сохранит несколько учетных данных, что я и хотел.

1 голос
/ 11 февраля 2019

Самый простой и понятный подход (ИМХО) - никаких конфигурационных файлов не слишком много хлопот

Просто создайте еще один ключ ssh.

Допустим, у вас есть новая рабочая учетная запись GitHub, просто создайте для нее новый ключ:

sh-keygen -t rsa -C "email@work_mail.com" -f "id_rsa_work_user1"`

Теперь у вас должны быть старые и новые, чтобы увидеть их, запустите:

ls -al ~/.ssh

Вам нужно выполнить вышеперечисленное только один раз.

С этого момента, каждый раз, когда вы хотите переключиться между ними, просто запустите:

ssh-add -D
ssh-add ~/.ssh/id_rsa_work_user1 #make to use this without the suffix .pub

Чтобы переключиться на старый, запустите снова:

 ssh-add -D
 ssh-add ~/.ssh/<previous id_rsa>
0 голосов
/ 29 января 2019

Если у вас установлено WSL , вы можете иметь две отдельные учетные записи git - одну в WSL и одну в windows.

0 голосов
/ 03 сентября 2018

еще один более простой способ - использовать несколько приложений для настольных компьютеров, например то, что я делаю, использовать учетную запись A на рабочем столе Github и использовать учетную запись B на Github Kraken

0 голосов
/ 13 июня 2018

В отличие от других ответов, где вам нужно выполнить несколько шагов , чтобы использовать два разных github аккаунта с одного компьютера, для меня это работало в два шага .

Вам просто необходимо:

1) создать пару открытых и закрытых ключей SSH для каждой учетной записи в ~/.ssh месте с разнымиимена и

2) добавьте сгенерированные публичные ключи к соответствующей учетной записи в Settings >> SSH and GPG keys >> New SSH Key.

Чтобы сгенерировать пары открытого и закрытого ключей SSH , используйте следующую команду:

cd ~/.ssh
ssh-keygen -t rsa -C "email@work.com" -f "id_rsa_WORK"
ssh-keygen -t rsa -C "email@gmail.com" -f "id_rsa_PERSONAL"

В результате выполнения вышеуказанных команд для ваших файлов будут созданы файлы id_rsa_WORK и id_rsa_WORK.pub. рабочая учетная запись (например, git.work.com) и id_rsa_PERSONAL и id_rsa_PERSONAL.pub будут созданы для вашей личной учетной записи (например, github.com).

После создания скопируйте содержимое из каждого общедоступного (*.pub) файла и выполните шаг 2 для каждой учетной записи.

PS : нет необходимости создаватьзапись хоста для каждой учетной записи git в файле ~/.ssh/config, как указано в других ответах, если имена хостов ваших двух учетных записей различны.

0 голосов
/ 02 мая 2018

Вам не нужно вести два разных аккаунта для личного и рабочего.Фактически, Github рекомендует поддерживать единую учетную запись и помогает объединить обе учетные записи.

Перейдите по ссылке ниже, чтобы объединить, если вы решите, что нет необходимости вести несколько учетных записей.

https://help.github.com/articles/merging-multiple-user-accounts/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...