여러 개의 Github 계정을 한 곳에서 동시에 사용하기
|AI Summary
- 개인용과 업무용 GitHub 계정을 위해 각각 별도의 SSH 키를 생성하고
~/.ssh폴더에 저장한다. - 생성한 공개키를 각 GitHub 계정의
Settings > SSH and GPG keys에 등록하여 인증을 완료한다. ~/.ssh/config파일에 각 계정별로Host와IdentityFile을 설정해 SSH 접속 시 키를 구분하도록 한다.ssh-add명령어로 기존 키를 삭제하고 새로 생성한 키들을 등록하여 로컬 SSH 에이전트에 반영한다.~/.gitconfig와 별도의 설정 파일(.gitconfig-work)을 만들어 작업 디렉토리별로 사용자 정보(email, name)를 분리 설정한다.- 설정 후 테스트용 리포지토리에 커밋하여 각 계정으로 정상 커밋되는지 확인하면 다중 GitHub 계정 관리가 완료된다.

SSH 키들을 생성
- 개인 계정(
youremail@forpersonal.com)과 업무 계정(youremail@forwork.com)이 있다고 가정
| |
passphrase는 임의로 지정- 위의 과정이 끝나면 다음과 같은 파일들이 생성
id_rsa_personalid_rsa_personal.pubid_rsa_workid_rsa_work.pub
깃허브 계정에 키를 추가
- 깃허브 본인 계정에 접속한 다음
Settings > SSH and GPG keys > New SSH Key에 등록 - 개인 계정과 업무 계정 모두 등록
~/.ssh/config 설정
- 다음과 같이
~/.ssh/config파일 생성 및 설정 Host옆에 써있는 경로가 clone 시에 설정하게 되는 분기점이다.- 예를 들어,
Host가example.github.com이고 clone시에git@example.github.com:{username}/{repo}.git으로 받는다면 해당IdentityFile을 경로에 맞게 설정할 수 있다.
- 예를 들어,
새로운 키들을 로컬에 저장
| |
~/.gitconfig 설정
- 이 부분은 Git 계정 여러 개 동시 사용하기를 참고하면서 설정하도록 하자
~/.gitconfig에 대한 설정을 나눠서 할 예정이다.- 먼저
~/.gitconfig부분 설정이다.
- 물론 이 부분도 개인과 업무계정을 뒤바꿔 설정해도 상관없다.
- 필자의 경우 먼저 업무계정을 설정한 뒤 개인계정을 설정했으므로 전혀 차이가 없다.
- 다만 유의해야할 점은
includeIf에서 directory 부분이다. - 개인이든 업무든 하나의 폴더 안에서 관리한다면 위의 설정은 매우 편리하다.
- 필자의 경우
~/gitFolders안에 개인 repo 들을 모두 모아뒀기 때문에 위와 같은 설정을 했다. - 다음은
~/.gitconfig-work부분 설정이다.
- 물론 필자는 개인계정을 여기에 설정했다.
- 조삼모사이니 본인의 선택에 따라 결정하기를 바란다.
테스트
- 깃허브에
testrepository를 만들고 아무거나 커밋을 해보자. - 정상적으로 repo 에 맞는 각 계정으로 커밋이 된다면 잘 설정된 것이다.