개인 이메일로 업무 코드를 푸시하지 마세요: Windows에서 여러 GitHub 계정 사용을 위한 궁극적인 가이드

발행: (2025년 12월 24일 오후 03:24 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

개념: SSH 키와 별칭

Git은 기본적으로 하나의 전역 사용자를 사용합니다. 계정을 전환하려면 다음이 필요합니다:

  • 두 개의 별도 SSH 키(하나는 개인용, 하나는 업무용).
  • 별칭(예: github-work)을 적절한 키에 매핑하는 SSH 설정 파일.

Step 1: 고유 SSH 키 생성

# Create the .ssh directory if it doesn't exist
mkdir "$HOME\.ssh"
cd "$HOME\.ssh"

개인 키

ssh-keygen -t ed25519 -C "personal@gmail.com" -f id_personal

업무 키

ssh-keygen -t ed25519 -C "work@company.com" -f id_work

Note: 기존 기본 키(id_rsa)를 덮어쓰지 마세요.

Step 2: “Eval” 문제 (Windows 해결책)

일반적인 eval $(ssh-agent -s) 명령은 PowerShell에서 종종 실패합니다. 대신 Windows에 내장된 ssh-agent 서비스를 활성화하여 재부팅 후에도 유지되도록 합니다.

# Run PowerShell as Administrator
Get-Service -Name ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

키를 추가합니다(일반 PowerShell 창에서도 가능):

ssh-add $HOME\.ssh\id_personal
ssh-add $HOME\.ssh\id_work

두 키가 모두 로드됐는지 확인합니다:

ssh-add -l

Step 3: 키를 GitHub에 업로드

  1. 개인 공개 키 파일(id_personal.pub)을 열고 내용을 복사합니다.
  2. GitHub → SettingsSSH and GPG keys에서 New SSH key를 클릭하고 키를 붙여넣은 뒤 저장합니다.
  3. 회사 GitHub 계정에서도 업무 공개 키(id_work.pub)에 대해 동일한 과정을 반복합니다.

Step 4: 마법의 설정 파일

$HOME\.ssh\ 안에 확장자 없이 config 라는 파일을 만들고 다음 내용을 넣습니다:

# Personal Account – Default
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_personal

# Work Account – Alias
Host github-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_work

Step 5: 저장소 클론 및 설정

  • 개인 프로젝트: 평소와 같이 클론합니다.

    git clone git@github.com:username/repo.git
  • 업무 프로젝트: github.com 대신 별칭 github-work를 사용합니다.

    git clone git@github-work:company/repo.git

로컬 아이덴티티 설정

업무 저장소를 클론한 직후, 잘못된 이메일로 커밋되는 것을 방지하기 위해 로컬 Git 아이덴티티를 설정합니다:

git config user.name "Your Work Name"
git config user.email "work@company.com"

보너스: 잘못된 이메일로 푸시된 커밋 수정하기

이미 개인 이메일이 포함된 커밋을 푸시했다면, 저장소를 삭제하지 않고도 재작성할 수 있습니다.

  1. 로컬 Git 설정을 업데이트합니다(아직 설정되지 않았다면):

    git config user.email "work@company.com"
  2. 마지막 커밋을 수정하여 작성자 정보를 재설정합니다:

    git commit --amend --reset-author --no-edit
  3. 수정된 커밋을 강제 푸시합니다:

    git push -f origin main

결론

Windows에서 여러 GitHub 계정을 설정하는 데는 약 10분 정도면 충분하지만, 끊임없는 “Permission denied” 오류와 신원 혼동이라는 곤란을 피할 수 있습니다. ssh-agent 서비스와 SSH 설정 파일만 제대로 구성하면 모든 것이 배경에서 매끄럽게 작동합니다.

행복한 코딩 되세요! 🚀

Back to Blog

관련 글

더 보기 »