Post

GitHub 다중 계정 관리 Cheat Sheet

GitHub 다중 계정 관리 Cheat Sheet

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 URLGit includeIf
목적GitHub 계정 인증커밋 작성자 정보 자동 설정
적용 범위Remote 접근커밋 작성자
장점여러 GitHub 계정 로그인 가능저장소별 user 정보 자동 적용, 초기화 문제 없음
단점매번 SSH 키 등록 필요인증 자체는 SSH 키 필요

4️⃣ 참고 자료

This post is licensed under CC BY 4.0 by the author.