Git 이메일 변경
Git 이메일 변경이 필요한 이유
Git을 사용하다 보면 이메일 주소를 변경해야 하는 상황이 가끔 발생합니다.
회사 이메일에서 개인 이메일로 변경하거나,
GitHub 계정의 이메일 주소를 업데이트해야 할 때가 있습니다.
이런 경우 Git 명령어를 통해 쉽게 이메일을 변경할 수 있습니다.
아래 명령어들을 통해서 CLI에서 본인의 커밋 시 메일을 설정해 보세요.
1. Git Global Author 이메일 변경
사용법
git config --global user.email [이메일주소]
예시
git config --global user.email mstorm@mstorm.net
설명
- 모든 Git 저장소에 적용되는 글로벌 이메일 설정을 변경합니다
- 현재 사용자의 모든 Git 저장소에 대해 기본 이메일 주소를 설정합니다
확인 방법
git config --global user.email
2. Git Repository 내 Author 이메일 변경
사용법
git config user.email [이메일주소]
예시
git config user.email mstorm@mstorm.net
설명
- 특정 저장소에만 적용되는 로컬 이메일 설정을 변경합니다
- 현재 저장소에만 적용되며, 다른 저장소의 설정에는 영향을 주지 않습니다
확인 방법
git config user.email
3. 마지막 커밋 Author 이메일 변경
사용법
git commit --amend --author="[이름] <[이메일주소]>" --no-edit
예시
git commit --amend --author="Minchul Kwon <mstorm@mstorm.net>" --no-edit
설명
- 이미 커밋된 마지막 커밋의 작성자 정보를 변경합니다
- 커밋 메시지는 수정하지 않고 작성자 정보만 변경합니다
옵션 설명
--amend: 마지막 커밋을 수정--author: 작성자 정보 변경--no-edit: 커밋 메시지 편집 모드로 진입하지 않음
언제 어떤 방법을 사용할까?
글로벌 설정 사용 시기
- 모든 저장소에서 동일한 이메일을 사용하고 싶을 때
- 개인 프로젝트와 회사 프로젝트를 구분하지 않을 때
- 새로운 Git 환경을 설정할 때
로컬 설정 사용 시기
- 특정 저장소에서만 다른 이메일을 사용하고 싶을 때
- 회사 프로젝트와 개인 프로젝트를 구분하고 싶을 때
- 기존 글로벌 설정을 덮어쓰고 싶을 때
커밋 수정 사용 시기
- 이미 커밋한 내용의 작성자 정보를 변경하고 싶을 때
- 실수로 잘못된 이메일로 커밋했을 때
- GitHub 등에서 커밋이 제대로 인식되지 않을 때
주의사항
이미 푸시된 커밋 수정
git commit --amend는 이미 원격 저장소에 푸시된 커밋을 수정할 때
force push가 필요할 수 있습니다.
git push --force-with-lease origin main
⚠️ 주의: Force push는 다른 개발자와 협업 중일 때, 충돌을 일으킬 수 있으므로 신중하게 사용해야 합니다.
이메일 주소 형식
GitHub에서 커밋이 제대로 인식되려면
GitHub 계정에 등록된 이메일 주소를 사용해야 합니다.
추가 팁
현재 설정 확인
# 글로벌 설정 확인
git config --global --list
# 로컬 설정 확인
git config --local --list
# 모든 설정 확인 (글로벌 + 로컬)
git config --list
사용자 이름도 함께 변경
이메일과 함께 사용자 이름도 변경할 수 있습니다.
글로벌 사용자 이름 변경
사용법:
git config --global user.name "[사용자이름]"
예시:
git config --global user.name "Minchul Kwon"
로컬 사용자 이름 변경
사용법:
git config user.name "[사용자이름]"
예시:
git config user.name "Minchul Kwon"
마무리
Git 이메일 변경은 개발 과정에서 자주 필요한 작업입니다.
상황에 맞는 적절한 방법을 선택하여
Git 커밋 히스토리를 깔끔하게 관리할 수 있습니다.
특히 GitHub와 같은 플랫폼에서 커밋이 제대로 인식되도록
올바른 이메일 주소를 설정하는 것이 중요합니다.