Github에 계정을 연결하는 방법에는 HTTPs, SSH Key방법 두 가지가 있습니다. 여기에서는 그 중 SSH Key방법을 이용해 한 컴퓨터에서 두개 이상의 Github계정을 연동하여 사용하는 설정을 알아봅시다.
~/.ssh
에 있는 기존 SSH Key를 삭제합니다. ssh-keygen -t rsa -b 4096 -C "account1@gmail.com"
ssh-keygen -t rsa -b 4096 -C "account2@gmail.com"
이때, 파일명은 각각 ~/.ssh/id_rsa
, ~/.ssh/id_rsa_acc2
으로 저장합니다.
eval `ssh-agent`
ssh-add -k ~/.ssh/id_rsa
ssh-add -k ~/.ssh/id_rsa_acc2
ssh-add -l
로 확인할 수 있습니다
cat ~/.ssh/id_rsa.pub | pbcopy
#Add it on GITHUB>SETTINGS>SSH and GPG keys>New SSH Key
cat ~/.ssh/id_rsa_acc2.pub | pbcopy
#Add it on GITHUB>SETTINGS>SSH and GPG keys>New SSH Key
~/.ssh/config
파일을 아래와 같이 생성합니다. # account1 github
Host github.com
HostName github.com
User git
AddKeyToAgent yes
IdentityFile ~/.ssh/id_rsa
# account2 github
Host github.com-acc2
HostName github.com
User git
AddKeyToAgent yes
IdentityFile ~/.ssh/id_rsa_acc2
# for account1
git config --global user.name "acc2_username"
git config --global user.email "account2@gmail.com"
# for account2: nothing to do
github.com-acc2
: githubHost, acc2_username
: github id #WHEN YOU CLONING YOUR REPO with acc2
git clone git@github.com-acc2:acc2_username/reponame.git
#WHEN YOU MADE A LOCAL FOLDER AND CONNECT IT TO GITHUB with acc2
git remote set-url origin git@github.com-acc2:acc2_username/reponame.git
(If you want to use multiple names and email addresses for different repositories, you can set up local configurations for each repository using the git config command without the --global flag. These local configurations will take precedence over the global configuration for that specific repository.)
git push origin main
명령어를 이용하여 git에 push를 수행합니다.