피드로 돌아가기
I Used the Wrong Git Email for 2 Weeks — And No One Noticed
Dev.toDev.to
DevOps

Git 설정 실수로 2주간의 커밋 이메일이 꼬였을 때의 완벽한 해결책

I Used the Wrong Git Email for 2 Weeks — And No One Noticed

Sandeep Bansod2026년 4월 6일6beginner

Context

단일 머신에서 개인 프로젝트와 클라이언트 업무를 병행하며 발생한 정체성 혼란 문제. ~/.gitconfig의 전역 설정이 모든 저장소에 일괄 적용되어 엉뚱한 이메일로 커밋이 기록되는 구조. 저장소별로 로컬 설정을 수동 적용하는 방식은 신규 프로젝트 생성 시 누락 위험이 큰 한계 존재.

Technical Solution

  • Git의 includeIf 기능을 활용하여 디렉토리 경로 기반의 조건부 설정 로드 구조 설계
  • 업무 성격에 따라 ~/clients/, ~/work/, ~/personal/로 폴더 구조를 엄격히 분리하여 트리거 설정
  • 각 정체성별로 독립된 설정 파일(~/.gitconfig-clients 등)을 생성하여 사용자 이름과 이메일을 정의
  • 전역 ~/.gitconfig 파일에 includeIf "gitdir:~/path/" 구문을 추가하여 특정 폴더 진입 시 해당 설정이 전역 값을 덮어쓰도록 구성
  • 커밋 메타데이터와 별개인 GitHub 인증 문제를 해결하기 위해 SSH Key를 계정별로 생성하여 분리
  • ~/.ssh/config에 호스트 별칭(Host Alias)을 설정하여 푸시 시 사용할 SSH Key를 명시적으로 지정하는 인증 체계 구축

Key Takeaway

인간의 기억력에 의존하는 수동 설정 대신 디렉토리 구조라는 물리적 제약을 규칙으로 변환하여 자동화하는 선언적 설정 관리의 중요성.


다중 계정 사용 시 `includeIf`로 폴더별 설정을 자동화하고, SSH Config 별칭을 통해 인증 계정을 분리할 것

원문 읽기