맥북에서 깃허브 계정 여러 개 사용하기

하나의 기기에서 여러 개의 깃허브 계정을 사용해야 할 일이 있다. 회사에서는 mac을 쓰고 집에서는 윈도우를 쓰는데, 사용법이 많이 다르다 보니 switch하는 게 불편했다. 그래서 맥북에서 개인 계정과 회사 계정 두 개를 쓰기로 했다. 찾아본 대로 설정을 하고 개인 계정으로 사용하다 회사 계정으로 변경한 걸로 알고 커밋을 했는데 개인 계정으로 커밋해버리는 실수를 해버렸다. 여러 번의 시도를 해서 계정을 변경할 수 있게 되었고 깃허브에 임시 레포지토리를 생성해서 다른 username으로 커밋되는 걸 확인했다.



순서는 다음과 같다.
  1. 두 개의 깃허브 계정 준비
  2. ssh키 각각 생성 후 github settings에 붙여넣기
  3. config 파일에 두 개 계정의 정보 저장
  4. 콘솔에서 계정 변경

1. 두 개의 깃허브 계정 준비

두 개의 깃허브 계정을 준비해준다.

2. 콘솔에서 ssh 키 각각 생성 후 github settings에 붙여넣기

각 계정의 이메일로 ssh 키를 생성한다.

ssh-keygen -t rsa -b 4096 -C "userid@gmail.com"

키를 저장할 파일 이름을 입력한다.

Enter file in which to save the key (/Users/user/.ssh/id_rsa): id_rsa_personal

이미 있는 idrsa 파일과 겹치지 않게 idrsa 파일을 생성한다. (idrsapersonal, id_rsa)

회사 계정의 ssh 키를 이미 생성했었기 때문에 idrsawork 대신 id_rsa로 사용했다.

키를 기기에 저장한다.

eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa

생성된 키를 복사한다.

pbcopy < ~/.ssh/id_rsa.pub

각 계정으로 github.com에 들어가 Settings > SSH and GPG keys > New SSH Key > 붙여넣기

3. config 파일에 두 개 계정의 정보 저장

.ssh 안의 config 파일에 다음과 같이 작성한다.

Host work
	HostName github.com
	User git
	IdentityFile /.ssh/id_rsa

Host personal
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_personal

file 이름만 맞추고 나머지는 그대로 입력한다.

4. 콘솔에서 계정 변경

계정은 다음과 같이 변경한다.

git config user.name 계정아이디
git config user.email 이메일

변경 확인을 위해 다음과 같이 입력하면 각각 user name과 user email이 출력된다.

git config user.name
git config user.email

변경 후 커밋하면 깃허브에 변경된 계정으로 커밋되는 걸 확인할 수 있다.


Written by@jaeeun
I explain with words and code. I explain with words and code. I explain with words and code.