Как переключаться между разными пользователями(учетными записями github) при нажатии репозиториев?

вот проблема, с которой я сталкиваюсь.

прежде всего, я работаю над несколькими проектами. У меня есть две разные учетные записи github, и после настройки одного из них и успешного нажатия РЕПО на него, мне нужно было зафиксировать/нажать другое РЕПО на вторую учетную запись, что привело меня к точной проблеме.

Как переключаться между этими двумя учетными записями с помощью https, а не ssh?

P. S: Я на Mac.

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

" remote: разрешение на имя / РЕПО.ГИТ отказано пользователей. неустранимо: не удается получить доступ к "адресу репозитория": запрошенный URL-адрес возвращает ошибку: 403".

1 ответов


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

прочитайте эти полные документы и выполните следующие действия.

несколько настроек ключей SSH для разных учетных записей github:

https://gist.github.com/jexchan/2351996


create different public key

создайте другой ключ ssh в соответствии со статьей Mac Set-Up Git

$ ssh-keygen -t rsa -C "your_email@youremail.com"

например, создано 2 ключа at:

~/.ssh/id_rsa_activehacker
~/.ssh/id_rsa_jexchan

Add these two keys to the ssh-agent:

$ ssh-add ~/.ssh/id_rsa_activehacker
$ ssh-add ~/.ssh/id_rsa_jexchan
you can delete all cached keys before

$ ssh-add -D

check your keys

$ ssh-add -l

Modify the ssh config

$ cd ~/.ssh/
$ touch config
$ subl -a config

Add the keys to the config file:***

#activehacker account
Host github.com-activehacker
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_activehacker

#jexchan account
Host github.com-jexchan
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_jexchan

Clone you repo and modify your Git config

# clone your repo 
git clone git@github.com:activehacker/gfs.git gfs_jexchan

cd gfs_jexchan and modify git config

$ git config user.name "jexchan"
$ git config user.email "jexchan@gmail.com" 

$ git config user.name "activehacker"
$ git config user.email "jexlab@gmail.com" 

# or you can have global 
git config $ git config --global user.name "jexchan" 
git config --global user.email "jexchan@gmail.com"

push your code

# add the code and commit it
git add .
git commit -m "your comments"

# push the code to the remote server
git push