GitHub 다중 계정 관리 Cheat Sheet
회사 계정과 개인 계정을 한 PC에서 안전하게 관리하기 위한 통합 가이드입니다.
1️⃣ SSH 키 기반 계정 구분
1.1 SSH 키 생성
1
2
3
4
5
| # 개인 계정
ssh-keygen -t rsa -C "your_personal_email@domain.com" -f "~/.ssh/id_rsa_personal"
# 업무 계정
ssh-keygen -t rsa -C "your_work_email@domain.com" -f "~/.ssh/id_rsa_work"
|
1.2 SSH 키 등록
1
2
| ssh-add ~/.ssh/id_rsa_personal
ssh-add ~/.ssh/id_rsa_work
|
1.3 SSH config 설정 (~/.ssh/config)
1
2
3
4
5
6
7
8
9
10
11
| # 개인 계정
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
# 업무 계정
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
|
1.4 테스트
1
2
| ssh -T github.com-personal
ssh -T github.com-work
|
1.5 Git remote URL 예시
1
2
3
4
5
| # 개인
git remote set-url origin git@github.com-personal:personal/project.git
# 업무
git remote set-url origin git@github.com-work:work/project.git
|
2️⃣ Git 사용자 정보 관리 (includeIf)
2.1 전역 사용자 설정
1
2
| git config --global user.name "defaultuser"
git config --global user.email "default@example.com"
|
2.2 디렉토리별 커스텀 설정
예: 업무 디렉토리
~/workspace/company/company.inc
1
2
3
| [user]
name = customuser
email = customuser@gmail.com
|
전역 Git 설정파일에 includeIf 추가 (~/.gitconfig)
1
2
3
4
5
6
| [user]
name = defaultuser
email = default@example.com
[includeIf "gitdir:~/workspace/company/"]
path = ~/workspace/company/company.inc
|
⚠️ 경로 끝에 /를 포함해야 하위 디렉토리까지 적용됨
2.3 확인
1
2
3
| cd ~/workspace/company/projectA
git config --get user.email
# → customuser@gmail.com
|
3️⃣ 요약
| 기능 | SSH 키 + Remote URL | Git includeIf |
|---|
| 목적 | GitHub 계정 인증 | 커밋 작성자 정보 자동 설정 |
| 적용 범위 | Remote 접근 | 커밋 작성자 |
| 장점 | 여러 GitHub 계정 로그인 가능 | 저장소별 user 정보 자동 적용, 초기화 문제 없음 |
| 단점 | 매번 SSH 키 등록 필요 | 인증 자체는 SSH 키 필요 |
4️⃣ 참고 자료