꽤나 많은 분들이 하나의 컴퓨터에서 내가 갖고 있는 개인 Github 계정과 회사의 Github 계정을 함께 사용하고 싶은 경험을 했을 것이다.
별도의 설정을 해주지 않으면 기본적으로는 하나의 컴퓨터에서는 하나의 Github 계정에 대해서 글로벌하게 설정이 되므로 여러 Github 계정을 사용할 수는 없다.
그래-서 오늘은 이런 불편함을 해결하고자 하나의 컴퓨터에서 여러 개의 Github 계정을 사용하는 방법을 알아보도록 하겠다. 🔥

준비물은 매우 간단하다.
바로 서로 다른 Github 계정이다.
이렇게 서로 다른 여러 계정이 준비됐다면 이제 본격적으로 한 컴퓨터에서 여러 계정을 사용할 수 있는 세팅 방법을 알아보도록 하자.
ssh-keygen -t ed25519 -C "company@company.com" -f ~/.ssh/id_ed25519_work
ssh-keygen -t ed25519 -C "personal@personal.com" -f ~/.ssh/id_ed25519_personal
위 명령어들을 실행하면 회사 계정과 개인 계정을 가리키는 SSH 키가 생성되게 된다.

여기에서 주목할 것인 Public key이고, 이것을 복사해서 Github에 등록해줘야한다.

개인 깃헙 로그인 → Settings → SSH and GPG keys → New SSH key → id_ed25519_personal.pub 복사 후 붙여넣기
위와 같이 Key를 입력한 후, 회사 깃헙 계정에 대해서도 반복해주면 된다.
Host github.com-work
HostName github.com
User git
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
Host github.com-personal
HostName github.com
User git
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes
위와 같이 ~/.ssh/config 파일을 생성해주면 되는데, 여기서 UseKeychain 옵션은 키 생성 시 Passphrase를 입력하지 않았거나 그냥 엔터를 쳤다면 제거해주면 된다.
ssh-add --apple-use-keychain ~/.ssh/id_ed25519_work
ssh-add --apple-use-keychain ~/.ssh/id_ed25519_personal
위 명령어를 통해서 ssh-agent에 키를 등록해준다.
ssh -T git@github.com-work
ssh -T git@github.com-personal
모든 설정이 완료됐다면 위 명령어들로 SSH 연결 테스트를 할 수 있고, 정상적으로 설정됐다면 아래와 같이 성공 메세지가 출력된다.

mkdir -p ~/apps ~/apps-private
apps라는 폴더는 회사용으로 사용하고 apps-private라는 폴더는 개인용으로 사용할 것이므로, 먼저 폴더를 생성해준다.
[includeIf "gitdir:~/apps/"]
path = ~/.gitconfig-work
[includeIf "gitdir:~/apps-private/"]
path = ~/.gitconfig-personal
~/.gitconfig파일을 위와 같이 작성해준다.
[user]
name = {회사 깃헙에서 사용할 이름}
email = work@company.com
[url "git@github.com-work:"]
insteadOf = git@github.com:
~/.gitconfig-work파일을 위와 같이 작성해준다.
[user]
name = {개인 이름}
email = personal@example.com
[url "git@github.com-personal:"]
insteadOf = git@github.com:
~/.gitconfig-personal파일을 위와 같이 작성해준다.
이제 각 깃헙에 있는 레포지토리를 Clone해보고, 정상적으로 동작한다면 모든 세팅이 완료된 것이다. 🫡