Страницы

Поиск по вопросам

среда, 25 декабря 2019 г.

Управление двумя аккаунтами на github.com с одного пк

#github


Есть 2 аккаунта на github.com. 

Хотелось бы иметь возможность работать как с одним, так и с другим с одного пк.

Для этого:


Захожу в первый аккаунт. Создаю для него ssh ключ.

ssh-keygen 

cat ~/.ssh/id_rsa.pub (ввожу ключ на github в настройках акк.)
Захожу во второй аккаунт. В консоли создаю для него SSH ключ:

ssh-keygen -t rsa -C "user-2-email@gmail.com" с именем id_rsa_user2
Ключи находятся в одной папке .ssh. Там же создаю файл config:

# Default GitHub
Host github.com
    HostName github.com
    PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

# User2 GitHub
Host user2.github.com
    HostName github.com
    PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_user2

Тест проходит:

ssh -T git@github.com и ssh -T git@user2.github.com


  Hi ... ! You've successfully authenticated, but GitHub does not provide shell access.



Создаю разные папки с разными файлами. Одна папка test1 для первого аккаунта, вторая
test2 соответственно для второго аккаунта user2.

Создаю соответствующие репозитории на github аккаунтах. Выбираю работу по ssh. 

git init ... git add . git commit .... - после всей инициализации:

Ввожу:

git remote add origin git@github.com:user1/test1.git

или 

git remote add origin git@github.com:user2/test2.git

После git push -u origin master выдает ошибки faild to push ... src refspec master
does not match any ...

Вопрос: Как правильно работать с несколькими аккаунтами github с одного ПК, как правильно
проводить переключение между данными аккаунтами и как правильно создавать при этот
репозитории?
    


Ответы

Ответ 1



Решение оказалось простым git@user... т.е после знака @ указываем имя аккаунта (из config): git remote add origin git@user1.github.com:user1/test1.git или git remote add origin git@user2.github.com:user2/test1.git

Ответ 2



Я нашел такой вариант: Global config ~/.gitconfig [user] name = John Doe email = john@doe.tld [includeIf "gitdir:~/work/"] path = ~/work/.gitconfig Work specific config ~/work/.gitconfig [user] email = john.doe@company.tld Как вам нравится такой вариант?

Комментариев нет:

Отправить комментарий